web form,mvc,Silverlight对比与优点

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

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

 asp.net教程 web forms

 优点:最重要的一点解决方案多,什么控件特效,比如datagrid的模板列什么都能实现只要有需求基本都能找到解决方法,

  经验丰富,从asp.net1.0开始用的最多做得项目最多的就是web form了,做项目要的就是熟能生巧。

  提供的组件多,到asp.net2.0 .net framework就提供很多有用的组件想profile,membership,微软microsoft patterns & practices一些资源(企业库)

  ui控件多,特别是ajax toolkit,gridview,dataform,一些第三组件

 缺点:这个还真不好说,要说就是太自由,随你怎么搞。

 silverlight

 优点: 我看过有些silverlight业务系统,做得好的,真的好看,而且好用,用户体验真的不错,这些就是异步处理好处

  不得不说binding功能很强大,结合mvvm模式开发一些功能真的很简单

  做富媒体应用最合适,我们有个项目是做一个堆场监控的,用到了google map sdk和图片和deep zoom组件,还可以调用摄像头的监控视频,真的不错,用其他技术估计都很难做的到

 缺点:目前解决方案太少,有些需求真的很难或是说不知道如何去实现,要google老半天,就比如datagrid搞个checkbox提交选中行的数据,或加个按钮这类简单的操作都要搞半天

  与后台交互真的不好搞,所有交互只能是web service(wcf),虽然ria1.0(不支持oracle)也很方便,但都是异步操作,总没有web form那么直接了当。回调来对调去的还有4.0提供了很强大的匿名方法还有action<>这些类库。

  最后我只能说要想做得好真不容易。

 

 asp.net mvc

 我还没有用mvc 2,3做过项目只是最近做一些tutorial感觉还可以,就简单评价一下

 优点:层次清晰,model,controller,view ,action,都有向导产生,非常规范,感觉就是很专业,像是搞大项目架构,不想web form那么随意,以后程序维护肯定方便。

  还有同样强大的route url功能。

  其实我想优点应该还有很多

  缺点:UI控件很少,什么都要自己去组合,感觉又回到了开发asp时代,输出个数据还得<tr><td>的搞,受不了,类似做个grid的且套,模板列都不容易。

  与后台交互虽然比silverlight要好点,不用异步方法,但只能post,submit还是没有web form的事件机制好用。

   一定要精通网页特效,jquery,json不然ui这关真不好过。

 

 最后 稍微总结一下

 如果做业务系统项目还是web form好,简单快速,做一些多媒体应用的silverlight当然是最好了,MVC可能做大项目比较好吧

 

时间: 2024-09-14 16:48:47

web form,mvc,Silverlight对比与优点的相关文章

别总以为asp.net mvc比asp.net web form好--web form的页面也可以体积小巧

最近才看到网上有一种对asp.net web form的误解.也有很多讨论,弄得微软ScottGu也来澄清.asp.net mvc和web form是并行存在的两种开发模式.许多人对web form的诟病很多,其中最主要的就是说viewstate,随便一个web form页面,其html源码就体积很大,主要是隐藏字段viewstate体积比较大,至少几十K,页面复杂一点,viewstate的大小能上几兆,这样大体积的页面,在浏览器和服务器之间传输,对网络带宽也是一个很大的压力,所以asp.net

用ASP.NET建立简单的Web Form

ASP.NET引入了一种新的Web编程方法.对于使用传统编程语言如Visual Basic或C++的人,这种方法是很熟悉的.如果你是一个Web程序员只接触过脚本语言的话,不必着急,这篇文章将使你快速入门.作为程序员,我们再也不必将HTML和代码混在一起,再也不必从上往下一行一行的写代码了.ASP.NET让代码和表现分开,使用了事件驱动的编程模式.在这里,我们将看到ASP.NET中Web Form的基本结构.ASP.NET的页面是事件驱动和面向对象的.就是说,程序员能为事件提供代码,如按钮的点击,

C# web 开发 MVC 模型数据验证 必填项

问题描述 C# web 开发 MVC 模型数据验证 必填项 问题是: 在开发网站的时候.有一个页面是增加产品和编辑产品共用. 为了在编辑的时候.方便ID的获取.在页面上添加隐藏的绑定模型的控件. 在后台数据验证端.该字段并没有设置必填.而前台页面却提示必填.导致没法进行. input class="input-validation-error" data-val="true" data-val-number="字段 PlaProductId 必须是一个数字

c#-asp的web form中,在后台生成了表,怎样让表在网页上显示

问题描述 asp的web form中,在后台生成了表,怎样让表在网页上显示 自己在后台动态生成了一个表,但是在网页上面显示不出来,不知道为什么,表的动态生成写在Page__load()函数中,页面设计如下: <%@Page Language="C#" AutoEventWireup="true" CodeBehind="Reservationa.aspx.cs" Inherits="HT.Reservationa" Ma

在虚拟空间上反搭建mvc+silverlight过程

发生在我的新同事身上,不止一次.希望你们看到不要生气,没人知道谁是我同事的.当我发ftp://192.168.123.4,我们公司的ftp的地址给他们并告诉他们公司资料有一部分放上面.他们第一反应就是输入到浏览器中.有又表达了一次:输入到资源管理器中.他们都是先是一愣.我指了一个已经打开的文件夹的地址栏说这里,他们才恍然所悟.     后来我想,一是对ftp的知识有点陌生,二是对资源管理器这个名称也比较陌生.也可见大家对一些基础的操作系统的知识还是缺乏.所以大家说网络课上教web,ftp部署等的

使用HTML5构建下一代的Web Form

HTML5 是由 WHATWG (Web Hypertext Application Technology Working Group) 发起的,最开始的名称叫做Web Application 1.0,而后这个标准吸纳了Web Forms 2.0的标准,并一同被W3C组织所采用,合并成为下一代的HTML5标准. 前言 HTML语言作为如今编程最为广泛的语言,具有易用.快捷.多浏览平台兼容等特点,但是随着时代的进步,HTML的标准却停滞不前,这一次还在不断开发中的HTML5标准的更新可以说给这门标

Cocoa教学:Windows OOP与Cocoa MVC之对比

封装不封装,这是个问题. 今天我在看Cocoa开发者邮件列表的时候,看到一个帖子,求助如何在两个View之间互相通信的问题.做Windows程序员的时间长的我都不好意思说了,我意识到,这个问题在我刚刚接触到Mac上的Objective-C时也遇到过. 我现在可以提出这个问题的简化版:"我有一个对话框,获取了一些用户输入的数据.我现在需要从我那个对话框中把这个数据提取出来以供主窗口使用.如何才能从主窗口获取到对话框里的数据呢?" 在Windows里,尤其是C# .NET,你可以通过添加一

基于PHP Web开发MVC框架的Smarty使用说明_php实例

一.Smarty简明教程 1.安装演示 下载最新版本的Smarty-3.1.12,然后解压下载的文件.接下来演示Smarty自带的demo例子. (1)下载地址:http://www.smarty.net/download (2)在你的WEB服务器根目录下建立新目录,这里我在/var/www下创建yqting/目录,然后将解压之后的目录中的demo/和libs/目录复制到/var/www/yqting/目录下. (3)这里要特别注意demo/目录下cache/和template_c/两个目录,一

web xml-SPRING MVC在web.xml上,初始化DispatcherServlet就报错

问题描述 SPRING MVC在web.xml上,初始化DispatcherServlet就报错 springmvcorg.springframework.web.servlet.DispatcherServlet1 springmvc/ 在web.xml中,写入这段代码就报错,去除就没问题 解决方案 类不存在,你确定CommonInterceptor类存在? 解决方案二: 导入jar包,并且保证工程的lib下有jar包,重新启动tomcat就正常了 解决方案三: 问题已经解决了,非常感谢 解决