web开发web form,mvc,Silverlight比较优缺点

最近一段时间比较闲,所以顺便尝试去了解一些新东西,虽然不做开发好多年,但最始终还是觉得做开发(coding)来的最轻松,也最拿手,做项目经理真的很烦,看来我还是不合适干项目经理。

前一段时间在Silverlight 2出来的时候我们公司就有个家伙用Siverlight做了个项目,吹嘘了一下说开发有多快,用户体验有多好,搞得公司里火了一段时间,后来又有项目组也开始用silverlight 开发产品,但很不顺利,效果很差,第一个项目组把项目做成功的原因是这哥们技术真的不错,肯专研,可惜后来离职了,而其他项目组菜鸟居多所以搞得进展很慢。做得也很辛苦。

后来我也研究一下Silverlight 2/3/4 RIA 1.0,还有最近在看一些asp.net MVC相关的技术,也算是做个小小的总结吧。

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的时候可能开发会变得更简单。 

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏杨建荣的学习笔记

几款文本编辑器的试用体验

一直以来文本编辑器用了不少,一旦习惯了就不愿意轻易改动了。从emeditor,ultraeditor,notepad++这些工具用到如今,似乎已经习惯了...

474100
来自专栏tkokof 的技术,小趣及杂念

HGE系列之二 更上层楼

上次颇为感性的描述了一番HGE的轮廓,并给出了一个世界上最简单的HGE示例程序,不知读过的人有了怎样的认识,如果你说一点感觉都没有的话——哦,好吧,在此我再重...

7610
来自专栏ThoughtWorks

Build 2016:细数给开发者的福利 | TW洞见

今日洞见 文章作者/配图来自ThoughtWorks:陈计节。 本文所有内容,包括文字、图片和音视频资料,版权均属ThoughtWorks公司所有,任何媒体、网...

315110
来自专栏人工智能的秘密

开发一个智能客服需要多少钱?

现在很多网站的客服人员都会采用智能的聊天机器人回复客户的咨询问题,那如果要开发一个这样的聊天机器人,需要花费多少钱?

46100
来自专栏维C果糖

初识 GitHub · 简介篇

1 前言 GitHub 是一个面向开源及私有软件项目的托管平台,因为只支持 Git 作为唯一的版本库格式进行托管,故名 GitHub。 GitHub 于 20...

22890
来自专栏工科狗和生物喵

让电脑的灵魂跟你走--电脑远程控制

电脑远程控制是为了方便人们随时随地访问自己的电脑,从而进行更加灵活高效的工作。最常见的远程控制是我们利用客户端直接进入后台操作命令行界面。也就是终端shell。...

51960
来自专栏前端黑板报

全栈工程师权威指南

根据 Stack Overflow 2016年开发者调查显示,全栈工程师是最受欢迎的开发者职业。毫无疑问现在有许多在线或个人课程来帮助程序员成为全栈开发者,甚至...

244110
来自专栏即时通讯技术

P2P技术如何将实时视频直播带宽降低75%?

实时视频直播经过去年的千播大战后已经成为互联网应用的标配技术,但直播平台的成本却一直居高不下,各个平台除了挖主播、挖网红以外,其背后高额的带宽费用也是他们最大的...

76330
来自专栏小狼的世界

增强网站易用性的10个设计技巧

易用性就是是你的网站对用户来说使用更简单,能够让用户在他需要的地方很快找到需要的信息。类比于Google所提倡的”让用户呆在Google的时间不短缩短“,对于网...

12520
来自专栏技术翻译

程序员必知的10个工具!

每个程序员或软件开发人员都必须对源代码管理存储库有很好的了解,因为你需要每天签入、签出代码。而且,要成为一个更好的开发人员,还应该了解诸如分支和合并之类的高级概...

1K00

扫码关注云+社区

领取腾讯云代金券