Web表现层技术竞争替代关系一览
日期:2007年6月5日 作者: 查看:[大字体 中字体 小字体]-
很多人对于现有哪些Web表现层技术,它们之间是什么关系搞不清楚。我来简单说一下。
现有的Web表现层技术按照事件模型所在的位置可以分成两大类,事件模型位于服务器端的和事件模型位于客户端的。
基于HTML表单交互的传统的Web开发框架,事件模型都位于服务器端,这些框架包括各种Web MVC框架(Struts、WebWork、Spring MVC)、JSF、ASP.NET、RoR、以及PHP、Python等语言开发的各种Web开发框架。这样一类框架的主要特点是用户的事件必须要发送到服务器端来处理。如果它们不与Ajax或者某种RIA技术相结合,它们无法提供最佳的响应能力(因为所有的用户事件都需要到服务器端走一趟)。在这些框架中,RoR和ASP.NET对于Ajax的支持是最好的。
Ajax和各种RIA技术,包括M$ WPF和Adobe Apollo,事件模型都位于客户端。它们与服务器端构成的一种最理想的整体架构是基于REST的Web服务(RESTful Web Service)。在这种架构中,服务器端不存在事件模型,服务器端只提供数据服务,表现逻辑完全位于客户端。大家去认真读一下定义Ajax技术的那篇著名的文章,就可以清晰地看到,Ajax技术的核心思想是在客户端处理用户的事件,它的事件模型是位于客户端的。如果仅仅把Ajax当作一种不刷新页面的技术(有的时候,用IFrame也可以做同样的事情),那是没有充分理解Ajax技术的内涵。
CSDN摆了一个场子,把这些技术放在一起,希望它们杀个你死我活。不过在我看来,上述两大类Web表现层技术的适用场合的交集其实并不是很大。
JSF的主要竞争者是ASP.NET,Sun搞出来JSF规范最初就是为了与ASP.NET竞争。现在ASP.NET Ajax日渐成熟,因此在对于Ajax的支持方面领先了JSF很多。其实Ajax与JSF是友非敌,善用Ajax,可以有效地改善Web应用的可用性,弥补这样一类框架事件模型完全位于服务器端的不足。不清楚为何袁红岗会将Ajax当作JSF的敌人。
而与JSF、ASP.NET相比,WPF、Apollo在技术上领先了一代。孟岩非常看好WPF的前景,我也很看好,而我更看好的是RIA+REST这样一种新型Web开发架构的前景。Apollo依靠Flash的市场占有率占据了领先的优势,WPF依靠M$对于桌面操作系统的垄断,有望奋起直追。WPF和Apollo在这两三年将是RIA技术领域主要的竞争者,RIA技术也会越来越多地蚕食传统Web开发框架的地盘。很遗憾的是在RIA技术领域Java缺席了,Java Web Start不大可能在这个领域扮演一个主要的角色。
Ajax技术的缺点很明显,但是Ajax目前有几个无法替代的优点:
1. Ajax技术的部署是零成本的(Flash的部署还达不到零成本,WPF所基于的技术的部署成本则要高很多)。因此Ajax技术具有最佳的可访问性(Accessibility),它只需要有一个现代Web浏览器就足够了。
2. Ajax技术是完全基于Web标准的,基于Web标准的技术对于搜索引擎优化(SEO)是最友好的。
3. 在目前,优秀的Ajax应用的可用性仍然领先于其他技术。可用性并不等于花哨,在很多场合,使用丰富的3D效果并不能有效地改善应用的可用性。
所以对于2/3的Web应用,其实基于Web标准的Ajax技术已经基本上够用了,而其他1/3需要更为丰富表现效果的场合,则是RIA技术的用武之地。
如果可访问性和搜索引擎优化对于你们开展业务至关重要,那么目前的唯一选择就是Ajax。
所以我预测今后很多年,基于Web标准的技术仍然会统治互联网,而其他的RIA技术则会在Intranet的企业应用中展开厮杀。
Ajax技术因为基于真正的Web标准,所以Ajax技术是上述所有这些技术的朋友,而不是敌人。其他的技术都可以对Ajax技术加以充分利用。我从来没有看到过M$和Adobe的人抨击过Ajax,而在WPF和Apollo中也用到了不少javascript。这些RIA技术的充分发展并不会严重打击Ajax技术,相反会促进Ajax技术的发展。因为它们从架构上来说是一致的(Ajax+REST或者RIA+REST,其实Ajax也可以被纳入为一种RIA技术),Ajax融合进WPF和Apollo的架构中是比较容易的。而Ajax融合进JSF和ASP.NET的架构则要困难一些,因为它要受到这些架构服务器端事件模型的限制。袁红岗选择了放弃Ajax,也是出于一种实现成本上的现实考虑,他们可能并没有能力开发出ASP.NET Ajax这样一个框架来。但是他们没有必要来踩Ajax,虽然Ajax是一个无父无母的孤苦孩子,拉出来殴打一顿,估计也不会有人来寻仇。:) - [1] [2] 下一页
-
- Web表现层技术竞争替代关系一览 相关文章:
- ·Web表现层技术竞争替代关系一览
- Web表现层技术竞争替代关系一览 相关软件
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
上一篇:标准的 语义的 非侵入的页签切换
精品推荐
热点TOP10
- ·1394网络适配器是什么东西?
- ·知道对方的ip地址,如何查具体物理地址?
- ·arp.exe是什么
- ·初学者入门:如何学习网页制作?
- ·XSL/XML网页制作入门,入门到精通
- ·素材网站、优秀设计素材大全
- ·jsp Smart Upload上传下载全攻略
- ·常用网页使用js技巧收集(200多个)
- ·WINDOWS编程基础
- ·为什么打开网页那么慢?
- ·请问如何查出我被人限制网速~~~
- ·制作网站的步骤和方法
- ·常见弹出代码集合
- ·网页版面设计
- ·网站打不开
- ·站长常用广告代码的表达大全(不断更新中,希望收藏本页)
- ·ADSL登录是错误,出现691是什么意思
- ·电子商务安全协议
- ·手把手教你做网站必备的六步
- ·网页对联广告代码大全
特别推荐
- ·常见弹出代码集合
- ·国内外cms网站大全
- ·CSDN 总结 精华 ASP 代码
- ·编写高性能 Web 应用程序的 10 个技巧
- ·制作网页需要学习哪些技术?
- ·再次举例熟悉网页的头部信息表示涵义
- ·英文版本的cms大全
- ·ASP.NET中应用XML技术实现Web报表打印
- ·web标准常见问题大集合
- ·mssql数据库操作手册-全是精髓
- ·怎么让网页插入FLASH居中显示啊?代码!
- ·推荐FTP软件LeapFTP使用教程
- ·ADSL登录是错误,出现691是什么意思
- ·初学者入门:如何学习网页制作?
- ·ADSL宽带LINK灯闪
- ·jsp Smart Upload上传下载全攻略
- ·怎么样才能访问到局域网其他的机器
- ·服务器安装Zend Optimizer的方法
- ·信了你的邪-阿彪就能装上iis组件
- ·手把手教你做网站必备的六步
