百科问答小站 logo
百科问答小站 font logo



asp.net MVC 和Web Form 相比各有什么优缺点? 第1页

  

user avatar   Ivony 网友的相关建议: 
      

这两个东西是两个维度上的玩意儿,所以不能直接比较。


目前的ASP.NET经过几十年的发展分成了逻辑层和表现层两套独立的演进,不算ASP.NET Core和WebAPI的话,大体上是两套表现层模式,两套逻辑层模式,两两组合有四种实践。

两套表现层是WebForm和WebPages。

两套逻辑层是基于模块的模式MVC和基于页面的模式。

最流行的是MVC+WebPages(也就是Razor)。但是也有基于页面+WebForm(也就是最原始的WebForm模式),基于页面+WebPages和MVC+WebForm(传统MVC模式)


其实表现层没啥好说的WebPages更接近PHP的风格,即内容杂凑式(数据绑定逻辑、代码逻辑和HTML杂凑在一起)。WebForm更接近WinForm也就是控件风格,尽量用控件来隔离HTML。其实从理论上来说控件模式更干净,更先进。包括前端框架也是会自造控件来简化问题。但是微软的问题就是封闭,有些东西完全可以开放出来偏不。结果就是互联网的失利也直接拖死了WebForm(因为没有掌握HTML标准话语权,过于沉浸于自己的控件规范和标准,完全不把这些和HTML规范结合和推动)。想想看为什么前端控件框架不愿意做成WebForm自定义控件?


最后我们来看看基于模块的MVC模式和基于页面的模式到底有什么区别?

MVC模式的思想是,一个功能模块是由多个页面,多种UI协同实现的,这个里面,Model是核心。基于页面的模式基本思想是,业务逻辑是基于交互页面来设计的,这个里面,页面是核心。这两种思维,一个适用于面向互联网用户的多样化交互设计。一个适用于面向企业管理用户的标准表单交互设计。应用场景不同并无优劣之分……

当然,尽管四种组合都可以使用,但实际应用中,因为历史和设计原因,MVC+WebForm和基于页面+WebPages两种模式都会在功能上有一定的受限。


当然了,这十几年间发生了很多事情,IE死了,前端从IE的大一统时代,经过了混战时代,最后进入了Google主导的WHATWG标准的新的大一统时代。前端框架和脚本也摆脱了JavaApplet和SilverLight以及Flash的阴影,成为了可以独当一面的存在,前后端分离已成事实标准。

但未来会怎样,我们不得而知。我预计WebServer的服务器技术在未来将并入前端技术栈,后端将彻底从数据绑定中脱离出来,彻底放飞自我,解决新的问题……




  

相关话题

  ASP.NET 5 和 ASP.NET MVC 6 是什么关系,是不是要分裂了,是一伙人在弄吗? 
  独立开发先写前端还是先写后端? 
  怎么在.net 平台上用和 WP7 开发类似的技术或思想来实现 Android 开发? 
  .Net 新一代编译器 Roslyn 会带来怎样的影响? 
  ASP.NET MVC 如果全部用异步 Controller,会有什么效果?会成为高吞吐量,高并发的网站么? 
  C# 的 return ref 有什么具体应用? 
  为什么搜索引擎动辄显示找到相关结果约几千万上亿个,但是实际上搜索结果只能翻几十页? 
  .NET Core/.NET Framework 上的第三方常用类库/框架实现平均质量真的很差吗? 
  前端能否限制用户截图? 
  .Net的垃圾回收机制是定时执行还是事件触发? 

前一个讨论
FPS游戏中,在玩家的延时都不一样的情况下是如何做到游戏的同步性的?
下一个讨论
「魏王雅望非常,然床头捉刀人,此乃英雄也」曹操听到这话后为何要追杀使者?





© 2024-11-21 - tinynew.org. All Rights Reserved.
© 2024-11-21 - tinynew.org. 保留所有权利