.net web开发有WEBFORM,MVC,EF等来开发,各有什么优点和缺点?

.net web开发有WEBFORM,MVC,EF等来开发,各有什么优点和缺点?
2024-11-20 00:09:54
推荐回答(1个)
回答1:

asp.net Web Forms
优点:最重要的一点解决方案多,经验丰富,什么需求基本都能找到解决方法。
没有什么比服务器端控件再好用的东西了。数据绑定控件(gridview,formview),数据原控件(objectdatasource,sqldatasource,linqdatasouce),有了这些控件开发业务系统觉得没有比用web forms更好,更快的技术了
提供的服务多,到asp.net2.0 .net framework就提供很多非常好的服务,profile,membership,cache,Microsoft patterns & practices(企业库)
UI控件,AJAX,第三支持的比较多
有着很多成熟的开发模型比如微软推出petshopN层架构
缺点:因为使用了功能强大的服务器控件导致页面比较大,每次post,response的数据相对ajax,silverlight肯定是大的,会影响性能。

Silverlight
优点:开发富互联网应用(RIA)绝对是最合适的技术,,新版Silverlight集成GPU加速,开发3D,多媒体绝对是利器。
对于一些业务系统,做得好的,真的好看,而且好用,用户体验也很好网上可以找不少Demo
新的Silverlight开发模式MVVM虽然比较新但真的很好用,如果要做业务系统那么一定要用MVVM这个设计模式太能体现更多Silverlight开发优势(databinding 功能强大)

缺点:掌握UI设计工具的人太少,所以做不出很酷,很炫的页面效果。
与后台交互不方便,所有交互只能是web service(WCF),虽然RIA1.0也很方便,但都是异步操作,总没有web form那么直接了当。回调来对调去的还有4.0提供了很强大的匿名方法还有Action<>这些类库。
最后我只能说要想做得好真不容易。

ASP.NET MVC
我还没有用mvc 2,3做过项目只是最近做一些tutorial,给我的影响就是返朴归真,与后台交互回到了最原始Post,Response,类似回到ASP时代。
优点:层次清晰,Model,Controller,View ,Action,都有向导产生,非常规范,感觉就是很专业,像是搞大项目架构,不想web form那么随意。
页面展现和后台完全分开,去掉了服务器端控件,与后台交互使用JSON数据对象,所以性能上一定优于web form
还有同样强大的Route URL功能,搜索引擎优化SEO。
成熟的MVC设计模式。
缺点:取消了服务器端控件,使得一些业务系统的输入变得更为单调,在一些也用户的互操作上大打折扣。
与后台交互虽然比Silverlight要好点,不用异步方法,但只能post,submit还是没有web form的事件机制好用。
一定要精通javascript,Jquery,Json不然UI这关真不好过。

最后对于开发业务系统最主要还是提供用户很方便输入数据,快速响应操作,对于开发人员就能很方便保存和更新数据,能很方便调用的需要数数据,调用特定的方法,并返回需要结果。能很方便的调试代码。
虽然silverlight,asp.net mvc都是在asp.net webform后出来的技术,但也没有必要就认为Silverlight,MVC就一定比传统的asp.net webform就好。其实不关什么技术都是为了解决不同的问题而产生,每项技术都有他存在的价值。
可惜很多开发人员对web form的了解还停留在asp.net 1.0的时代,很多asp.net的新特性都没有用到,还有就是拿asp.net的开发模式去开发silverlight应用。
个人建议
如果做业务系统的web项目还是web form好,简单快速,做一些多媒体应用的Silverlight当然是最好了,MVC可能做大项网站内容管理更合适。

当然了,不管什么都是孰能生巧,因为web form最的最多自然就最数量,其他主要还是用的少,我想Silverlight还是不错的如果RIA这块到2.0的时候可能开发会变得更简单。