.net web 技术演进之路
1.1.WebForm优点
1)支持事件模型开发,得益于丰富的服务端组件,WebForm开发可以迅速的搭建Web应用
2)使用方便,入门容易
1.2.WebForm缺点
1)封装太强,很多底层东西让初学者不是很明白
2)入门容易,提升很难,主要是理解后台处理管道以及iis原理。
3)复杂的生命周期模型学习起来并不容易。
4)控制不灵活
5)ViewState处理导致前端渲染很笨重,影响性能。
6)异步请求每个请求后台都必须有一个一般处理程序对应
7)跟传统的Web开发方式不一致
8)对HTML控制有限,原生html用的极少。
9)低级的可测试性,不利于单元测试。
10)异步编程支持的不怎么优化,一旦一个控件刷新整个页面就要刷新。
2.1.MVC优点
1)很容易将复杂的应用分成M,V,C三个组件模型,通过Model,View和Controller有效的简化了复杂的架构, 体现了很好的隔离原则
2)因为没有使用Server-Based forms。所以我们程序员控制的更加灵活,页面更加干净。
3)通过修改路由规则,可以控制生成自定义的url,因此控制生成seo友好的url将更加容易。
4)强类型的view实现,更安全,更可靠,更高效。
5)让web开发可以专注于某一层,更利于分工配合使用与大型架构开发
6)对异步处理提更好的支持
7)校验非常高
8)表单提交的时候,提供自动装配的功能
9)微软提供的全局的过滤器
10)可扩展性
11)易测试性
2.2MVC缺点
1)增加了系统结构和实现的复杂性。对于简单的界面,严格遵循MVC,使模型、视图与控制器分离,会增加结构的复杂性,并可能产生过多的更新操作,降低运行效率。
2)视图与控制器间的过于紧密的连接。视图与控制器是相互分离,但确实联系紧密的部件,视图没有控制器的存在,其应用是很有限的,反之亦然,这样就妨碍了他们的独立重用。
3)视图对模型数据的低效率访问。依据模型操作接口的不同,视图可能需要多次调用才能获得足够的显示数据。对未变化数据的不必要的频繁访问,也将损害操作性能。
4) 目前,一般高级的界面工具或构造器不支持MVC模式。改造这些工具以适应MVC需要和建立分离的部件的代价是很高的,从而造成使用MVC的困难。
3 .net core 跨平台之路
这个阶段可以进行前后端分离,丰富的webapi以及自带的依赖注入,管道等中间件可以很方便的管理,前端框架也日新月日走向工程化,包括vue之类的。