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

.net web开发有WEBFORM、MVC、EF等来开发,它们各有什么优点和缺点?,第1张

aspnet Web Forms

优点:最重要的一点解决方案多,经验丰富,什么需求基本都能找到解决方法。没有什么比服务器端控件再好用的东西了。数据绑定控件(gridview,formview),数据原(objectdatasource,sqldatasource,linqdatasouce),有了这些控件开发业务系统觉得没有比用web forms更好,更快的技术了 提供的服务多,到aspnet20 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),虽然RIA10也很方便,但都是异步 *** 作,总没有web form那么直接了当。回调来对调去的还有40提供了很强大的匿名方法还有Action<>这些类库。

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

ASPNET 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,aspnet mvc都是在aspnet webform后出来的技术,但也没有必要就认为Silverlight,MVC就一定比传统的aspnet webform就好。其实不关什么技术都是为了解决不同的问题而产生,每项技术都有他存在的价值。

可惜很多开发人员对web form的了解还停留在aspnet 10的时代,很多aspnet的新特性都没有用到,还有就是拿aspnet的开发模式去开发silverlight应用。

平台演变

1以web20为基础,基于互联网的B/S架构的软件。它本身也是一个软件,只不过不是最终的软件产品,而是用于二次开发的软件。

2用于实现各类业务系统,如CRM、MIS、ERP、HIS、OA等等的开发。web开发平台本身就是一个二次开发平台,他不同于诸如eclipse等这样的开发工具,需要写大量的代码来完成各个业务模块,二次开发平台只需要设计好自己的数据结构,进行一些简单的配置、拖拉等 *** 作就可以完成业务系统的开发。

3能够快速的实现各种报表包括复杂的图表报表的设计制作,传统的编码式开发需要自己去编写想要的各种报表,而运用开发平台就简单多了,可以很轻松的配置出各种报表。

使用web开发平台的目的是为了实现资源共享、节约开发成本、提高开发效率、缩短开发周期。而如今的开发平台大都采用非编码的方式或者是极少编码的方式,这样正好达到了目的。有的甚至可以减少80%的代码量,可见效率会提高多少。

早期开发平台

在IE出现之前,很多人就对如何实现快速开发做了大量的研究。诸如用友、金蝶等都有自己的开发构件库,还有SAP的ABAP开发平台等等。但是ABAP开发平台太复杂,一般的程序员一下子很难用起来;而用友金蝶的开发构件库又只能自己用,无法开放出来,所以难于通用。所以说早起的开发平台的基本状况是:要么功能强大,使用复杂;要么难于通用。

随着IE的出现,这种类型的开发平台也就被迫要转向web开发平台了。但是对于以上这些开发平台的问题的研究,可以积累web开发平台的经验,避免走更多的弯路。利用web的便利性,也能独辟蹊径,一举使得web开发平台实用起来。

编码思考

当我们一次次地重复编写类似的代码时,一次次地CTRL+C、CTRL+V的时候,我们都会想,下次把它做成一个通用的公共类,省得每次都改这么多地方,或者说等有时间了做一个业务工具,直接用工具配置一下就可以,不用写代码了。久而久之,开发平台就形成了。

Flex 是一个高效、免费的开源框架,可用于构建具有表现力的 Web 应用程序,这些应用程序利用 Adobe Flash Player和 Adobe AIR, 运行时跨浏览器、桌面和 *** 作系统实现一致的部署。虽然只能使用 Flex 框架构建 Flex 应用程序,但Adobe Flash Builder™(之前称为 Adobe Flex Builder™)软件可以通过智能编码、交互式遍历调试以及可视设计用户界面布局等功能加快开发。 使用 Flex 创建的 RIA 可运行于使用 Adobe Flash Player 软件的浏览器中,或在浏览器外运行于跨 *** 作系统运行时 Adobe AIR上,它们可以跨所有主要浏览器、在桌面上实现一致的运行。连接到 Internet 的计算机中超过 98% 装有 Flash Player,这是一个企业级客户端运行时,它的高级矢量图形能处理要求最高、数据密集型应用程序,同时达到桌面应用程序的执行速度。通过利用 AIR,Flex 应用程序可以访问本地数据和系统资源。
Macromedia Flash是强大的矢量动画编辑工具,在做动画起家之后,Flash一直在谋求RIA(rich internet application)富客户端的霸主地位,最有影响的是,已经推出了面向对象的编程脚本ActionScript30,并且建立起类似于java swing的类库和相应component(组件)。Flex是通过java或者net等非Flash途径,解释mxml文件组织components,并生成相应的swf文件。Flex的component和flash的component很相似,但是有所改进增强。目前Macromedia公司已经被ADOBE公司收购。当前(2011年11月)的flex版本为46。 运用Flash是完全可以做到flex的效果的,为什么还需要flex呢?这里面有两个原因: 1:为了迎合更多的developers(开发者)。Flash天生是为了designer(设计者)设计的,界面还有flash的动画概念和程序开发人员格格不入,为了吸引更多的jsp/asp/php等程序员,Macromedia推出了Flex,用非常简单的mxml来描述界面给jsp/asp/php程序人员使用(x/d)html非常相似,而且mxml更加规范化、标准化。 2:为了一个标准。大家一定听说过微软 *** 作系统vista(后续的win7也是同一核心),在vista推出的同时微软也推出了新的语言xaml,一种界面描述语言,与之相应的就是smart client和flex非常相似的东西(即SilverLight)。Mxml和Xaml的也很相似… …这是人机交互技术的进步的重要体现,即内部逻辑与外部界面交互相分离。 Flex和j2ee/net其实没什么关系,Macromedia用java做出来个应用把flash的技术融合到J2EE里面,再用net的技术做出来个net应用把flash技术融合到net里面去;应该说flex解决了J2EE里面和net里面最繁琐的问题那就是web 客户端的问题。
成因
传统的程序员在开发动画应用方面存在困难,Flex 平台最初就是因此而产生。Flex 试图通过提供一个程序员们已经熟知的工作流和编程模型来改善这个问题。 RIA相互之间关系
Flex 最初是作为一个J2EE(Java 2 Platform, Enterprise Edition)应用,或者可以说是JSP(JavaServer Pages)标签库而发布的。它可以把运行中的MXML(Flex标记语言)和ActionScript编译成FLASH应用程序(即二进制的SWF文件)。最新版的FLEX支持创建静态文件,该文件使用解释编译方式并且不需要购买服务器许可证就可以在线部署。 Flex的目标是让程序员更快更简单地开发RIA应用。在多层式开发模型中,Flex应用属于表现层。 Flex 采用GUI界面开发,使用基于XML的MXML语言。Flex 具有多种组件,可实现Web Services,远程对象,drag and drop,列排序,图表等功能;FLEX内建动画效果和其它简单互动界面等。相对于基于HTML的应用(如PHP、ASP、JSP、ColdFusion及CFMX等)在每个请求时都需要执行服务器端的模板,由于客户端只需要载入一次,FLEX应用程序的工作流被大大改善。FLEX的语言和文件结构也试图把应用程序的逻辑从设计中分离出来。 Flex 服务器也是客户端和XML Web Services及远程对象(Coldfusion CFCs,或Java类,等支持Action Message Format的其他对象)之间通讯的通路。 一般被认为是 Flex 替代品的是OpenLaszlo和AJAX技术。
编辑本段Flex应用前景
作为新一代的富客户端互联网技术的佼佼者,Flex这种技术已经被越来越多的公司所采用,被越来越多的用户和程序员所接受。以下列出Flex十大优势: 1、Flex与Flash:可以让普通程序员开发制作Flash成为可能 2、界面表现能力一流。 3、RIA富客户端应用,解决了异步调用,界面无刷新,浏览器兼容性等多项难题 4、对流媒体的支持:Flex是被公认为流媒体技术支持最好的应用 5、平台的可用性:根据ADOBE公司的说法,Flash player在全世界一半的PC机器上安装度为998% 6、跨平台:Flash player能够在linux下运行,也可以在手机上运行,所以不用担心绑死在WINDOWS上 7、对底层的可 *** 作性:Flex能够调用底层的东西,比如可以调用摄像头实现视频,而且视频本身就嵌入在Flex应用中,由Flex player直接播放。 8、平台的后续运营和发展前景:Flex是由ADOBE公司推出的且开源 9、有充足的学习环境: Flex官方样式配置工具,可以在线配置Flex应用程序各种控件的外观样式,改程序也是用Flex编写的,大家可以想象Flex可以做到什么程度的应用了,而且这么漂亮的界面,根本不用做任何和美工,都是直接用样式实现即可。 10可以用任何你熟悉的WEB编程平台作为后台数据访问层,可以使用 net,php,jsp,webservice 。
编辑本段Flex在Adobe规划中的定位
2011年11月,adobe宣布对移动浏览器上的flash player不再支持新版本升级。并建议开发者使用html5 代替开发移动程序。 到11年12月,adobe解说已经让部分内部开发者转到html5的研究上, 但承诺继续支持flash技术。从长远来看adobe在现在放弃部分领域 在将来可能也会逐步放弃其他flex/flash的传统领域,
Flex 应用开发步骤
以下直接来源于Flex 20 Beta 3的帮助文件: 使用一系统预定义组件(窗口,按钮等)来定义一个开发界面。 组织安排组件,现在用户自定义的界面设计。 使用风格和主题来定义可见设计。 增加动态动作,如应用程序之间的互动。 定义并在需要时连接上一个数据服务。 从源代码生成一个在Flash播放器中运行的SWF文件。
版本历史
Flex 10-2004年3月 Flex 15-2004年10月 版本
Flex 20 (Alpha)-2005年10月 Flex 20 Beta 1-2006年2月 Flex 20 Beta 2-2006年3月 Flex 20 Beta 3-2006年5月 Flex 20 Final-2006年6月28日 Flex 201 - 2007年1月5日 Flex 30 Beta 1 - 2007年1月11日 Flex 30 Beta 2 - 2007年10月1日 Flex 30 Beta 3 - 2007年12月12日 Flex 30 - 2008年2月25日 Flex 31 - 2008年8月15日 Flex 32 - 2008年11月17日 Flex 33 - 2009年3月4日 Flex 34 - 2009年8月18日 Flex 4十大主要特性变化一览 1 集成Adobe Catalyst 2 Spark组件架构 3 MXML 2009 4 对View States的改进 5 FXG支持 6 皮肤增强 7 更新的布局组件 8 Flash Builder 4 9 编译器性能 10 新的文本功能
采用Adobe Flex & AIR技术的经典应用
1、eBay eBay桌面是构建于Adobe AIR上的一个应用程序,程序创建了与eBay客户的持久连接。eBay桌面实时地直接将产品供货通知和拍卖更新发布给买主,这样用户不需要打开浏览器进入eBay网站就可以获取最新信息。 2、纳斯达克股票市场公司 NASDAQ Market Replay使用Adobe Flex和Adobe AIR在桌面上发布一个RIA,让金融专业人士能够重放任何时间点市场活动的详情。 3、纽约时报公司 纽约时报公司正在开始ShifD,一个新的RIA,允许使用者在计算机和移动设备之间切换内容。ShifD工作在Web网站和移动设备之上以及两者之间,通过一个可下载的AIR应用程序提供给人们一种欣赏移动媒体的方式。 4、CCTV网络电视奥运台 由 Adobe Flex 制作、Adobe Flash 技术加以传递前所未有的网页体验。其中包含由 CCTV 奥运媒体团队所提供的奥运赛事成绩、统计资料,以及多样化的背景数据、比赛规则及专家分析等。同时,透过社交网络功能,还能让运动迷与朋友们实时分享各种奥运赛事意见及看法。
Flex与Flash的关系
首先这里想说的是,Flash并非只是一个单纯的矢量动画创作工具,而是一个凭借脚本语言ActionScript在功能和定位上不断演变的网络应用开发工具。早在Flash MX的时候就已经成为macromedia 推广RIA战略的工具。但是毕竟Flash最初的定位是面向美术动画设计师的矢量动画创作工具,并不适合传统的开发人员。于是Flex成为开发者们的首选。 与FLASH
Flex和Flash都以ActionScript作为其核心编程语言,并被编译成swf文件运行于Flashplayer虚拟机里。因此Flex也继承了Flash在表示层上先天性的美感、除了视觉上的舒适感外,还天生具备方便的矢量图形、动画和媒体处理接口。 虽然Flex和Flash有众多的相似点,但是不同之处仍然很多: 1尽管公用ActionScript,但是使用的库并不完全相同,更合适的说法是两者使用着两套具有极大“功能重叠”范围的库。 2Flash偏向的是美术动画设计师人员,所以更容易发挥特效处理的优势,Flex偏向开发人员,所以容易做出具有丰富交互功能的应用程序。 3Flash只能以ActionScript脚本的形式开发(舞台被关联到一个称之为 document class的类里),另外舞台元素也是可以绑定脚本的,不过从软件工程的角度讲不建议这样用,Flex还可以使用称作mxml的标记语言来描述应用的外观和行为,mxml中可以直接嵌入ActionScript脚本。 4由于第三点而造成的两者市场定位不同,Flex是面向企业级的网络应用程序,Flash则面向诸如平面动画、广告设计等多媒体展示程序。 5借助Flash Lite这一移动设备上的Flashplayer,Flash可以开发移动应用,Flex则不行。 6Flash的编程模型是基于时间轴的,Flex的则是基于窗体,虽然它运行在网页里。
Flex的技术框架
Flex技术包括以下几个主要技术框架: 1 描述应用程序界面的XML语言(MXML); 2 符合ECMA规范的脚本语言(ActionScript),处理用户和系统的事件,构建复杂的数据模型; 3 一个基础类库; 4 运行时的即时服务; 5 由MXML与ActionScript文件生成swf文件的编译器。
什么是用RIA?
传统网络程序的开发是基于页面的、服务器端数据传递的模式,把网络程序的表现层建立于HTML页面之上,而HTML是适合于文本的,传统的基于页面的系统已经渐渐不能满足网络浏览者的更高的、全方位的体验要求了。而富互联网应用(Rich Internet Applications,缩写为RIA)的出现就是为了解决这个问题。 RIA面向用户
富互联网应用程序是下一代的将桌面应用程序的交互式用户体验与传统的WEB应用的部署灵活性和成本分析结合起来的网络应用程序。富互联网应用程序中的富客户技术通过提供可承载已编译客户端应用程序(以文件形式,用>1、Web前端开发一般指Web前端开发工程师。Web前端开发工程师,是从事Web前端开发工作的工程师。主要进行网站的开发、优化、完善的工作。网页制作是Web 10时代的产物,那时网站的主要内容都是静态的,用户使用网站的行为也以浏览为主。

2、Web前端开发技术包括三个要素:HTML、CSS、JavaScript,随着RIA的流行和普及,XML、Flash/Flex、Silverlight和服务器端语言也是前端开发工程师应该掌握的。

这个最好不要通过数据库触发事件,建议在插入一条数据同时,再执行一条选择数据的语句。而且浏览器的刷新不建议间隔很短,毫秒级的刷新服务器压力较大,最好5s或这10s刷新,我想一般的监控需求都满足了,如果不能满足就改用客户端吧。

金蝶Apusic应用服务器60新特性
在金蝶Apusic应用服务器60旧有版本的基础上,金蝶Apusic应用服务器60具备了更多的新的特性和对以前特性的增强,情况如下。
对RIA(Rich Internet Application)的更全面支持
金蝶Apusic应用服务器60在JSF 12及标准EL的基础上作了重要扩充,在容器级别提供JSF 托管Bean与JPA实体、Spring Bean之间的双向注入管理,结合全球独创的OperaMasks SDK及一体化开发与管理环境OperaMasks Studio,真正实现基于Java EE技术RIA应用开发的全生命周期管理。
提供增强SOA基础设施
金蝶Apusic应用服务器60在50的基础上,进一步强化了SOA基础设施能力,实现对SCA/SDO技术的良好支持,并实现对第三方Web Services框架的良好兼容性,为面向SOA系统提供更为平滑的支撑能力。
实现增强的可靠性
金蝶Apusic应用服务器60不仅支持应用的垂直扩展和水平扩展,并且能够适应复杂环境下系统的扩展需求,提供配对算法、全复制算法等,实现对F5、Radware等硬件负载均衡设备及常规Web Server的全面兼容。
性能优化及提升
金蝶Apusic应用服务器60在50的基础上,进行了大量性能优化工作,包括静态资源缓存、NIO InputStream算法及长连接管理优化、>如果是需要客户 *** 作的话 就很简单了
如果不需要客户 *** 作的话 你把你每个栏目的选项喜欢和讨厌分别设置id和隐藏checked属性
只要记录好每个选项的id和checked 再最后统计就可以了啊


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zz/10575432.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-09
下一篇 2023-05-09

发表评论

登录后才能评论

评论列表(0条)

保存