当前位置:文档之家› NET平台下的BS开发框架

NET平台下的BS开发框架

.Net平台下的B/S开发框架分类
总体来说,目前.Net平台下的B/S开发框架基本可以分为三大类:
1.基于控件和页面事件驱动思想的Web Forms
2.基于模型、视图、控制器的MVC模式
3.综合了Web Forms和MVC的一些特点而产生的框架(不是本文的介绍重点)
到目前为止, Web Forms和 MVC都有着各自的追捧者,双方都认为各自所使用的技术才是最好的,我个人很反对这种观点,马克思等革命先烈告诉我们,看待事物要用辩证、唯物的思想,存在即合理。

作为开发人员的我们,眼光不能太狭隘,多掌握一门技术总是好的事情。

而本文也尽量从客观、平等的角度出发,做一个相对公正全面的对比,而不是某种技术框架的推崇。

进制字节流。

而客户端在接收到返回到信息之后,将这些信息解析出来,就形成了我们在浏览器上看到的实实在在的页面,至此就形成了一个完整的请求过程。

好吧,上面这些介绍可能和本文的这个议题没有太直接的关系,可能也有人为认为这些是一个很简单的问题,可是,你真的理解HTTP协议了吗?真的理解应用程序生命周期和页面生命周期了吗?你真的理解了我们经常用的Response.Redirect(“url”)对应的HTTP 状态是301还是302吗?之所以介绍这么多,还是因为个人认为:要想较好的设计B/S系统结构,或者说写出高效、优雅的B/S代码,这些都是不可或缺的知识。

What Framework
先看一段解释:NET Framework又称.Net框架。

是由微软开发,一个致力于敏捷软件开发(Agile software development)、快速应用开发(Rapid application development)、平台无关性和网络透明化的软件开发平台。

.NET是微软为下一个十年对服务器和桌面型软件工程迈出的第一步。

.NET包含许多有助于互联网和内部网应用迅捷开发的技术。

.NET框架是微软公司继Windows DNA之后的新开发平台。

.NET框架是以一种采用系统虚拟机运行的编程平台,以通用语言运行库(Common Language Runtime)为基础,支持多种语言(C#、VB、C++、Python等)的开发。

.NET也为应用程序接口(API)提供了新功能和开发工具。

这些革新使得程序设计员可以同时进行Windows应用软件和网络应用软件以及组件和服务(web服务)的开发。

.NET提供了一个新的反射性的且面向对象程序设计编程接口。

.NET设计得足够通用化从而使许多不同高级语言都得以被汇集。

.Net Framework作为微软面向企业级应用的重要战略之一,有着十分重要的意义。

.Net Framework是运行于.Net平台上所有应用程序的基础。

而每一次版本的发布,
Web Forms官方定义:
Web Forms lets you build dynamic websites using a familiar
drag-and-drop,event-driven model.A design surface and hundreds of controls and components let you rapidly build sophisticated,powerful UI-driven sites with data access.
总结为如下几点:
1.拖拽式的编程模式。

2.事件驱动模型。

3.提供大量的控件。

MVC官方定义:
MVC gives you a powerful,patterns-based way to build dynamic websites that enables a clean separation of concerns and that gives you full control over markup for enjoyable,agile MVC includes many
features that enable fast,TDD-friendly development for creating sophisticated applications that use the latest web standards.
总结为如下几点:
1.基于历史悠久的MVC模式。

2.更加清晰的界面代码分离。

3.对HTML/CSS/JS更加完全的控制权。

4.体现了敏捷、测试驱动开发等思想。

关系图
在这里,有必要解释一下.Net、、 Web Forms、 MVC之间的关系,其层次关系可用如下的图来表示:
其中.Net Framework是所有框架的基础,在.Net Framework基础上提供了Web开发框架的基础,而 Web Forms和 MVC是由微软提供的两种目前最主流的Web开发框架。

Web Forms与 MVC详细对比
通过从优点、缺点、可能存在的风险、可能存在的机会这四个方面,进行一个详细的比较,具体如下表:
目前的发展情况
先看下微软.Net Framework各个版本的发布时间、IDE支持、Windows默认安装的版本,来做一个比较:
可以看出,.Net Framework1.0的发布时间为2002年, Web Forms作为当时ASP的替代也同时推出。

经历了将近10年的发展,在企业级B/S系统开发上,扮演了重要的角色,目前各种框架和第三方控件支持,也让 Web Forms越来越成熟,但同时Web Forms界面和代码的高度耦合、重量级的页面尺寸及复杂的页面生命周期等,也越来越被开发人员所诟病。

而Web Forms在互联网开发方面的不足,导致了广大的开发人员在开发互联网应用时,首选PHP、Python、Ruby等轻量级快速开发平台。

为了改善这一现状,微软在2009年4月,在.Net Framework3.5的基础上,推出了 MVC1.0版, MVC的推出,让广大的Web开发人员耳目一新,抛弃了大量的服务器端控件、各种各样的回发事件,让 MVC的页面看上去是那么的清爽,而MVC模式也更利于代码层次的组织,充分体现了Web开发简单、高效的本质。

到目前为止, MVC已经发展到3.0的版本,视图引擎方面也新增了简单、清晰的Razor。

于这个方面,是很难比较的,因为总体来说,不管是 Web Forms还是 MVC,其底层实现都是基于.Net Framework的。

在具体的Coding层面,他们是完全一样的。

而他们的学习难易程度,可能取决于你之前的技术积累和设计思想,我想一个Windows开发人员可能学习 Web Forms更加容易一些,而一个ASP程序员或者PHP程序员,可能接受MVC思想更加容易一些。

学习成本对比表
如下图所示,展示了 Web Forms和 MVC各自适用的场景。

适用场景总结
但事情无绝对,对于各自的适用场景,可能还有很多其他因素的影响,总结为如下几点:1.如果是快速开发后台管理系统,需要呈现大量的数据、表格等,建议采用Web Forms。

2.如果是对页面性能有着更高的要求,建议采用MVC。

3.如果是做互联网应用,对UI有着很高的要求,建议采用MVC。

4.如果要采用TDD开发模式,建议采用MVC。

5.具有很复杂的页面逻辑,建议采用Web Forms。

6.团队人员的掌握情况也是需要重点考虑的因素之一。

7.如果是做系统升级,尽量采用和老系统一致的框架。

相关主题