AJAX,FLash,Silverlight,orJavaFX Must We Choose?
大家好,这是我的小地盘,我每天都在努力着.
这篇文章是介绍我们怎样去面对AJAX和HD RIA Framework(Flash,Silverlight,javaFx)的整合,文中先从一个使用HD RIA Framework者的角度来谈HD RIA solution的优点,又根据它的优点来谈AJAX的优缺点,从而进一步提出将这两部分整合在一起,和整合在一起的一些问题,最后提到在Open Source社区的整合方式,很值得看,当我翻译完后,立刻理顺AJAX和HD RIA Framework之间的关系和存在的问题,他们之间不应该是相互取代,而是应该相互补充,在未来需要一次更好的整合,将他们两统一起来并且再向上抽象一层,能让他们更好的融合在一起.(也许Silverlight在这一点更有优势,因为里面本来包含着Asp.net AJAX,只不过需要所有的这方面的技术都在一起有形成统一的标准,这样才能真正的达到完全普及RIA开发,such as HTML so!)
但遗憾的就是作者是针对开源社区写的,没有很深入的谈到Silverlight,但我想Silverlight和.net平台的整合应该是没有什么问题的,只是和其他非MS产品整合却有很多值得讨论的方面!....来看一下吧..我推..
谢谢来访...有什么请指正...!
原文地址AJAX,Flash,Silverlight,or JavaFX Must We Choose?
Ric Smith
Aug. 29, 2007 11:00 AM
AJAX 已经永远改变用户在Web上所期待交互体验。在今天用户只需要坐在他们的座位上看眼前奇妙的效果,AJAX将伺候他们继续到下一步,还有一些值得注意是像桌面交互样的视觉效果,如包括Prototype-esque fades, Dojo style fisheyes,大家熟悉的drag-and-drop,当然谁的生活在没有娱乐表演,倘若按照动态分类加载icons使用AJAX做为异步装载物将立即就会把这些东西转移呈现给我们。是的,这就是AJAX能做的一切,并不是桌面的视觉效果或这样的形式是安全的,因为输出源是来于Web。
High-Definition RIA Solutions: What Are They Good For?(他们都各有什么好处)
这全是我的见解,直到我最新的发现在Apple公司最近宣布OSX的Leopard发布。这个最新的发现包括一个文件浏览新特性被叫做Cover Flow,让用户页面通过在三维立体环境下查看文件显示。它是视觉效果是依靠很多矢量图,若他的效果纯粹依靠AJAX来实现是非常困难的。实践中,相竞争技术是在Adobe's Flex, Microsoft's Silverlight, and Sun's 最近宣布的JavaFX上,他们呈现矢量图比起AJAX frameworks 如Dojo or Yahoo! UI Library (YUI)要更好,更充分。相信不相信,有一个重要的商业平台案例依托于(Web-based)基于Web矢量图在按照Rich Internet Application开发,有很好的视觉效果。还需要按照清楚数据组成来进行商业显示分析(e.g., SAP and Oracle) ,还要有video playback 和 image editing 软件(e.g., YouTube and MixBook)。当然RIA技术发表矢量图没有清楚的限定;基于Flex文字处理软件BuzzWord提供一个鲜明的high-definition (HD) RIA发布一个完整Web应用程序应对现在更多流行的AJAX应用程序的根本解决方案,也就是Google Docs,因而,矢量图不只是HD RIA解决方案恢复到表格中而已。如这种框架还提供丰富的,便利的开发应用程序如提供sound,sockets,local storage,video-areas在这些方面AJAX是趋于比较落后的。
Is the AJAX Revolution Over?(是否替换AJAX)
与AJAX是否会有一竞赛?决不(Not at all),正确的是Adobe的Flash及其其他相关技术会与AJAX相互竞争,但有必然的局限性是这些HD RIA frameworks将长时间存在,今后想努力替换AJAX基本是没可能的(but there are certain limitations to these HD RIA frameworks that prevent them – for the time being – from being an out right replacement for AJAX without some considerable due diligence. ),这里只需要注意在HD RIA 解决方案和AJAX之间选其中一种.
Plug-in required:(需要插件)
HD RIA 需要在浏览器安装插件,到2007年三月为止U.S., Canada, UK, Germany, France, and Japan等国家83.4%的PC上已经安装Flash 9 player,因此,基本是普及的,但需要更新一个插件是比较困难的,一半以上的用户遇到提示更新插件并跳转下载插件的地址,他们都会放弃浏览这个页面,转而跳转到另一个页面,可能跳转到竞争对手的页面上去,所以努力避免下载插件和安装软件.注意这里的市场占有率并不是指JavaFX也不是Silverlight而是单指Adobe Flash Player.还要注意的是83.4%市场占有率是在当前支持AJAX的浏览器IE 7.0, FireFox 2.0, 和 Safari 3.0上的.
Lack of open standards:(缺乏开放标准)
AJAX,与 HD RIA 解决方案不同之处是它构建在开放标准如(X)HTML, CSS, and JavaScript之上的,HD RIA是传统所有权限制有限的开源,更别说标准.JavaFX,最开始,介绍好似一个成功的开源项目,但在发布时被领导更换成一个HD RIA 解决方案,但到目前为止更新很少.
Skills Scarcity:(熟悉度不足)
Flex,Silverlight,和JavaFX有各自推广自己的语言.AJAX另一发方面则是依靠JavaScript,及其和它相关技术的大家都知道,容易与其他流行技术结合如Ruby-on-Rails, PHP, Java, and .NET.
Does not play well with HTML:(没有HTML运行的好)
基于Flashd的RIA解决方案比起其他的依靠AJAX的解决方案(e.g., Dojo, ICEFaces, Backbase, or Oracle ADF Faces Rich Client)更多的下载量,这样大的下载量的结果就是延长应用程序的启动时间
Searchable, but not always found:(搜索不一定会找到)
在最近几年,搜索引擎已经能在各个页面上索引.swf文件。在Yahoo和Google主要搜索的很多都是为登广告者提供这样的文件格式搜索,在使用方法上是没有被广泛的公布,所以不明白怎样去优化搜索结果的,Web设计者常常构建一个Flash和一个传统的HTML页面或选择将Flash movies嵌入到传统的HTML页面中,就像装饰基本文本内容一样。注意在写这遍文章的时候我没有获得关于任何搜索引擎能将HD RIA 技术的地址信息搜索发布出来的,如JavaFX与Silverlight。
All clients are not created equal:(所有的客户端并不是一样)
在最新的PC上,涉及因素最少,但在以前HD RIA环境造成在客户端使用巨大的资源执行商业逻辑同时和呈现视觉效果,应用程序执行由客户端机器配置所支配决定。因此用户体验是的对于不同的机器是不同的,基于AJAX的解决方案的到来继承(server-side component)服务端组件(e.g., Oracle ADF Faces Rich Client)能利用服务器资源在空闲时候下载处理和呈现,确保更好的均衡的递交给客户端。
读者应该注意到绝对没有考虑列出阻止你选择Flash或相关产品替换AJAX的条件,AJAX是并不是没有缺点,相反还有很多,最近几年,很明显选择了HD RIA解决方案更多一些,一些突出的论点,认为JavaScript执行很缓慢,内存漏洞,无数浏览器bugs,两端连接限制(two connection limits),和CSS呈现问题。简单的看,使用AJAX创建一个类似于Google Maps或GMail的这样的应用程序,你必须反对这样的拉牛车的方式,另外这篇文章也举出比使用基于AJAX解决方案更好的 HD RIA解决方案的案例,就是在特定领域要呈现矢量图。但另一方面要是对现有程序进行更新,修改那AJAX比其他的要更好一些,AJAX还具有很好的操作基于文本内容(text-based content)的能力,当前显著的是媒体内容在Web上的使用,虽然更多media-centric,real-time将是驱动Web3.0的力量,在不久未来将会有一个更丰富形式,因此当前市场上没有那一种RIA 解决方案是没有缺陷的。
很幸运,AJAX和HD RIAs的限制因素是相互对立的(in general terms – mutually exclusive), 因此AJAX技术和Flash是可以相互补充的,就如站点YouTube 和 SlideShare样就是很好的证明,将他们结合创建更有活力的,提供更丰富Media和动态文本的应用程序.但引入这样的开发也有两难局面,不是所有的开发者都有开发这两样的能力,混合的RIA解决方案是一个纯粹极端的想法是否做得成还是个问题?
The Best of Both Worlds, But Not Without Cost(两全齐美,但不得不花费更多)
最初一点一点的试验证实,Adobe Labs当前提供一个Flex-AJAX Bridge允许开发者使用JavaScript来操作Flex应用程序,另外Silverlight DOM是接近via JavaScirpt
.因此,HD RIA 解决方案是已经注意提供整合AJAX开发,可是,尽管所有APIs都去整合了,又需要有了解其他更深入的复杂问题的人,就是说要找到即又熟悉Flash (or Silverlight and JavaFX), CSS, HTML, 和 JavaScript ,还有一点点 PHP, Ruby-on-Rails, or Java这些知识的开发者不是很容易.另外,开发者熟悉度一般分为Client和Server端的功能,既要熟悉Flash或AJAX,但不能分sever和client技术.反过来也一样,因此也许雇佣一个即会Flash又会AJAX的领导者要比你雇佣某一方面精通的人是要花费的两倍工资,最后有很少的开发工具,更少的End-to-End Development Frameworks,打包这些技术进入一个单一的迅速的应用程序开发环境.理想的每一个开发环境包括可视化开发和代码加速器,工具能公布数据绑定.因此看上去现有生产力按照开发者的熟悉度和工具来衡量,要想试图平衡Flash和AJAX的工程是很难满足的.
AJAX and Flash, Together at Last(终于AJAX和Flash在一起)
在2004年,Java Sever Faces(JSF)启动彻底的简化Web开发和发布的标准,帮助少些卖主,找到再一次复兴的机会.JSF是一个Server-side Component Framework允许开发使用一个单一的API去构建Web应用程序,并呈现于多种设备,这个关键是部署是一个很高灵活性的呈现引擎或更为明确一个呈现工具箱(sender kit).这样的Component Framework如果Oracle ADF Faces已经引入这个呈现工具箱,不只呈现给HTML浏览器,但还Telnet clients, WML browsers, and ASK clients,一个站在更高的层面不需要知道底层技术具体实现就能创建多平台交互的应用程序.你能很容易看到概念的上AJAX和Flash应该怎样被扩展.这个意思是创建一个组件即很好的呈现AJAX有能很好的呈现Flash,当Flash组件服务更多专著于如mapping, graphing charting, 其他的data 处理需要时,AJAX使用来的增强窗体,布局和数据表格.简单的说使用单一的API为开发消除所需要了解的JavaScript, (X)HTML, CSS, XML, JSON, and Flash (or any other RIA solution).开发者简单需要知道Java语言和JSF API.需要深入理解的部分减少了,现在利用JSF可以了减少了解更多工具和视觉设计的时间(e.g., Oracle JDeveloper, NetBeans, Eclipse).这个带来的结果是一个开发环境为创建和发布更好的交互式RIA对开发者掌握技术要求更广泛要求到非常熟练的程度.
可是,尽管工具选择是广泛的,有好少JSF组见卖主提供基于Flash和基于AJAX组件在单一的Framework.更值得注意的是JSF组件的卖主发布AJAX-enabled Frameworks(AJAX 框架) 支持包括Backbase, ICEsoft, Oracle, JBoss, and ILOG. 最近, Oracle ADF Faces Rich Client 是一个Frameworks 提供同时支持AJAX 和 Flash组件.
此外,没有任何个人观念来看,Oracle 在今年宣布为的JavaOne 的Oracle ADF Faces Rich Client 贡献给 Apache Foundation 的MyFaces project Rich Client Framework (RCF). RCF证明JavaServer Faces能提供open source 解决方案, 构建一个产业标准, 带给RIA 开发者HD RIA 和AJAX两全齐美的的API.
------------------------works guo --------翻译-------