`
izuoyan
  • 浏览: 9225201 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

AJAX,Flash,Silverlight,JavaFX 到底选谁

阅读更多

  AJAX已经永久的改变了用户对网站提供的用户体验的期望。在当今世界,用户只是坐在椅子上等待着观看AJAX接下来将提供怎样的视觉盛宴,包括:一些较为显著的视觉效果和像台式机一样的互动,例如, Prototype-esque fades(原型褪色), Dojo style fisheyes(Dojo 风格的注视), the near ubiquitous drag-and-drop(无处不在的拖拉和水滴)。而且,当然,当AJAX进行异步处理的时候,如果没有了它提供的分散我们注意力的各式动画的加载,谁又能忍受?是的,这样看来,AJAX无所不能,并且没有任何桌面的视觉效果和手势是安全的,如果它是由网站提供的。

  他们对谁有好处?

  这曾经是我的观点,直到我看到在苹果公司最近最新发布的Mac OS X Leopard 版本上的新搜索器。搜索器包括一个文件浏览功能,即Cover Flow,它可以使用户通过网页预览,将文件以三维的方式展示。它是这样一种视觉效果,这种效果十分依赖向量图形,这种效果如果仅用AJAX是很难实现的。事实上,像Adobe's Flex, Microsoft's Silverlight, 以及Sun 最近发布的JavaFX这样的计算技术,使得向量图形实质上优于AJAX提供的Dojo或者Yahoo图形实验室(YUI)这种构架.无论相信与否,在网络应用程序开发中,在基于网络的向量图形的应用方面存在巨大的商机,而这绝不仅仅是看起来比较诱人这么简单。这种需求已经被商业分析中得到的数据很好的诠释了(例如:SAP 和Oracle),就像视频重放和图片编辑软件一样(例如:YouTube和MixBook).当然,RIA交付向量图象的技术并不仅仅限于视觉领域。基于Flex的字处理器BuzzWord通过交付一个完整的网络应用程序,提供了一个关于高清晰度RIA解决方案的生动的例子。这个网络应用程序叫做Google Docs,它是一个基于AJAX,更加流行的网络应用程序。因此,向量图形并不仅仅是高清RIA解决方案提出的。类似的框架也提供丰富的设备用来开发能交付声音,sockets,本地存储,视频的应用程序,在这个领域,AJAX要落后了。

  AJAX的革新结束了吗?

  这是否意味着AJAX已经完成了它的比赛?一点也不,事实上,Adobe Flash和相似的技术正在和AJAX进行着竞争。但是就现在来看,仍然有一些特定的限制使这些高清RIA框架无法取代AJAX。在我们考虑是用高清RIA框架还是AJAX的时候,这有一些更显著的需要考虑的事情。

  需要的插件:高清RIA解决方案需要浏览器插件。在2007年三月份,在美国,加拿大,英国,德国,法国和日本,大约83.4%的个人电脑安装了Flash 9 Player.因此,可以说Flash已经无处不在了。然而,即使是一个全球性的,最近安装的版本,升级插件是一件十分困扰的事情。多于一半的用户,当被提示需要更新插件的时候,经常会放弃下载软件的连接,而转向其他网站(很有可能是一个计算机网站)去下载软件,为的是避免和别的用户争夺下载和安装软件。需要注意到,无论是JavaFX, 还是Sliverlight现在都没有分享到被Adobe Flash Player占领的任何市场份额。也应该注意到被Flash 9 占领的83.4%的市场份额,在跟现代浏览器中(例如:IE7.0,Firefox2.0,Safari3.0)支持的AJAX比起来,就显得黯然失色了。

  缺少开放标准:AJAX,并不像高清RIA 解决方案,它是建立在开放标准上的,例如(X)HTML,CSS和JavaScript. HD RIA一直以来,都不是开源的,标准比起来少的可怜。JavaFX,一开始就是被当作一种开源的成果介绍的。在这个时候,在改变HD RIA 解决方案的的进程中,像一个领导者一样。但是它到现在为止却很少改变。

  技能的缺乏:Flex,silverlight,和JavaFX分别介绍了自己的代表性语言。另一方面,AJAX依赖的是JavaScript。JavaScript是被广泛认知的,而且很容易和其他主流的技术相结合,例如:Ruby-on-Rails, PHP, Java, and .NET.

  不能在HTML中很好的显示:对于完全用Flex开发的应用程序,并不存在这样的问题。但是对于已经存在的应用程序,它就是一个值得考虑的问题了。AJAX和JavaScript的创造是用来补充HTML的。另一方面,Flash在运行时,在操作已经存在的网页结构时,缺少灵活性,而这是JavaScript DOM 对象提供的。

  大量下载印记:基于Flash的RIA解决方案跟依赖本地AJAX支持的解决方案比,趋向于有一个更大的下载印记。这种更大下载的结果时,在应用程序安装的时候,有一个延迟的等待。

  可查找的,但并不是总能被找到:近年来,搜索引擎在他们各自的网页抓取中,引入了检索swf 文件的能力。Yahoo和Google是这种文件格式的最好的广告宣传提供商,虽然使用的方法(检索swf文件的方法)并没有广泛的公布,也没有很好的理解。为了优化查找结果,网络设计者经常既建一个flash网站,又建一个传统的HTML网站。或者在一个传统的HTML网站中选择一个嵌入的flash电影,作为对文本内容的装饰。应该注意到,在写这篇文章的时候,我并不能知道搜索引擎会在何时,会用何种方式把这个问题加入到HD RIA 技术中,就像JavaFX和Silverlight一样。

  并不是所有的客户都是平等的:随着更新的个人电脑的使用,这已经不在是一个问题了。但是自从HD RIA 环境大量使用用户的资源用来执行业务逻辑,应用性能由客户机的配置来决定了。因此,客户体验会因为机器配置的不同而不同。基于AJAX的解决方案有一个继承过来的服务端组件,(例如:Oracle ADF Faces Rich Client),可以利用服务器资源来装载处理和表现以保证在客户端更统一的交付。

  读者应该注意,没有一种列出的考虑会阻止你选择flash或者相似的产品,而去选择AJAX。AJAX的确有它自己的缺点,有很多。在近些年,比HD RIA 解决方案显示出的问题多很多。让我们关心的,一些显著的问题包括速度很慢的JavaScript执行,内存泄露,大量的浏览器错误,两个连接的限制,和CSS产生的问题。简单的输入,在Google Maps或者Gmail上用AJAX创建一个应用,你就不能拒绝任何形式的攻击。进一步讲,这篇文章已经指出了在哪种情况下,HD RIA 解决方案做的比基于AJAX的解决方案做的好,尤其是在向量图形的领域。但是,在这个平衡的另一端,我们会显然的发现AJAX更适合增量的修改已经存在的应用程序,在这一点上,flash或者其他HD RIA解决方案做的没有AJAX好。并且AJAX更适合处理文本内容。而文本内容又是当今网络内容的主流,虽然更多的媒体中心,实时驱动的web3.0可能会使规模在不远的将来,达到一个更高的级别。因此,现在所有RIA解决方案都是有限制的。

  幸运的,AJAX和HD RIA的限制因素,在大多数情况下,运行起来并不会产生相互影响。因此,AJAX和Flash这样的技术实际上很好的互补了,并且,像YouTube和SlideShare已经证明了,AJAX和Flash可以结合起来用来创建一个健壮的应用程序可以提供丰富的媒体和动态的文本.但是,这又引入了一个新的难题,那就是并不是所有的开发者都被平等的创建了,这将导致一个问题,就是是否这个混合的RIA解决方案只能通过极端的方式来达到?

  两个世界中最好的,但并不是免费的:

  最终的测试的结果是积极的。Adobe实验室最近提供了一个Flex-AJAX桥,允许开发者用JavaScript来操纵一个Flex的应用程序。进一步的,Sliverlight DOM可以通过JavaScript来访问。因此,HD RIA解决方案已经提供了AJAX的整合点。然而,尽管有整合到一起的接口,仍然有其他的复杂的问题没有显现出来,也就是找到一个有经验的开发者的难题,这样的开发者需要有flash,(或者Sliverlight,JavaFX),CSS,HTML, Javascript, 有一些PHP,Ruby-on-Rails, 或者 Java.的知识。进一步讲,开发者的技能一般都是针对客户方法和服务方法分开的。或者精通flash,或者AJAX,但是不精通服务端的技术。相反的说,也成立。因此,你需要雇一个精通flash的人和一个精通AJAX的人,而不仅仅是他们其中的任何一个。这会使你在雇佣人员上的花费翻倍。最后,基本上是没有开发工具的,比把所有技术都集成到一个程序开发环境中的,端到端的开发框架要少得多。理想情况下,这样的开发环境会包括可视化开发和其他加速编程速度的方法,更进一步,会包括宣布数据隐藏的工具。因此,这就好象是,在试图平衡flash和AJAX的工程中,技能和工具所提供的生产力并不是足够的。

  AJAX和Flash,最终将结合到一起

  在2004年,JavaServer Faces (JSF) 开始采用十分激烈的方式,简化网络开发并且在一些提供商的帮助下,仿佛成为了期待再一次重振网络开发的标准。JSF是一个服务器端的组件框架,这个框架允许开发者用一个单一接口去构建一个基于网络的,能操作多个设备的应用程序。能这样开发的一个主要方面是因为有一个可以高度灵活性表现引擎或者一个更加专业的表现包。像Oracle ADF Faces 这样的构件框架引入了表现包,不仅仅表现HTML浏览器,智能客户端,WML浏览器,和ASK客户端,创建用来交付的多通道而不用去理解内在技术的细微差别。你可以很容易的发现这项技术是如何扩展到AJAX和Flash中去的。创建一组组件的想法适用于AJAX,同时也适用于Flash.在这个想法中AJAX用来交付增强的窗口,布局管理器,和数据表格。与此同时,基于Flash的组件服务于更多特定的目的,利于画图,画图表,和其他的数据可视化需求。在开发中使用单一的借口消除了理解JavaScript, (X)HTML, CSS, XML, JSON, and Flash(或者其他RIA解决方案)的需要。开发者仅需要简单的知道java的语义和JSF的接口。再者,深入理解的需要减少了,因为大量的工具和为JSF提供的可视化设计(例如:Oracle JDeveloper, NetBeans, Eclipse)。

  成果是一个开发环境,在这个开发环境下,即使水平相差很多的开发者,都可以创造和交付一个高交互式的RIA。

  然而,尽管有很多工具可以选择,却很少有JSF组件提供商,在一个单一的框架中,既提供基于Flash组件,又提供基于AJAX的组件。一些更著名的JSF组件提供商发布基于AJAX的组件,包括:Backbase, ICEsoft, Oracle, JBoss,和ILOG。目前,Oracle ADF Faces Rich Client 代表了唯一的一个既提供支持AJAX的,又支持Flash的组件。而且,为了消除任何概念的所有权干涉,Oracle近日在今年的JavaOne上宣布,Oracle ADF Faces Rich Client对Apache Foundation的贡献,被当作是Rich Client Framework(RCF)。RCF显示JavaServer Faces能够提供一种开源的解决方案,建立在工业标准上,将带给RIA开发者两个世界中最好的,在一个接口下同时提供HD RIA和AJAX。

分享到:
评论

相关推荐

    Silverlight RPG游戏开发课程(内容教案)

    相比于其他 RIA 技术,如 Flash、JavaFX、AJAX 和 HTML5,Silverlight 具备以下优势: 1. 技术共享:Silverlight 与 WPF(Windows Presentation Foundation)的融合,意味着精通其中之一就能掌握两者,降低了学习...

    ajax新技术 sun最新培训资料

    ### AJAX新技术 SUN 最佳培训资料解析 #### 一、引言 随着互联网技术的飞速发展,用户对网络应用体验的要求也越来越高。传统的Web应用程序在交互性和用户体验方面存在诸多不足,这促使了富互联网应用(RIA)技术的...

    SLCrazyElephant

    RIA通常使用Ajax、Flash、Silverlight、JavaFX等技术实现,旨在提升用户体验,使网页应用更加流畅、响应迅速。 1. **Ajax(Asynchronous JavaScript and XML)**:Ajax不是单一的技术,而是一组用于创建动态网页的...

    web2.0

    - **富互联网应用(RIA,Rich Internet Applications)**:通过Flash、JavaFX、Silverlight等技术提供桌面级的应用体验。 - **社交网络**:如Facebook、Twitter等,让用户可以分享、评论和交流。 - **用户生成内容...

    什么是——HTML5

    HTML5是互联网技术的重要里程碑,它是对HTML4.01和XHTML1.0的显著升级,旨在提供更丰富的用户体验,同时减少对第三方浏览器插件的依赖,特别是像Flash、Silverlight和JavaFX这样的插件。HTML5的核心目标是增强网页的...

    RIA.压缩包

    RIA的发展主要得益于Flash、JavaFX、Silverlight等技术平台,以及现在流行的JavaScript框架,如React、Vue和Angular。 ria.压缩包中的资源可能包含了关于RIA开发的相关教程、案例、代码示例或者工具,对于学习和...

    Flex教程(整合Flex+BlazeDS+Spring+iBatis+Cairngorm+pureMVC).doc

    每次请求通常伴随页面刷新(Ajax技术可在一定程度上缓解此问题)。 #### 二、流行的RIA技术 当前流行的RIA技术主要包括: - **Adobe Flex** - **Microsoft Silverlight** - **Sun JavaFX** 其中,本教程重点关注...

    Web上传大文件的三种解决方案.pdf

    针对老旧浏览器或特殊情况,文档中还提到了如ActiveX、Flash、Silverlight和JavaFX等技术,这些技术提供了不同的上传机制,可以在不支持现代HTML5的旧版浏览器中使用。然而,由于现代浏览器逐渐不再支持ActiveX和...

    flex培训的基础知识

    - **Silverlight** - **OpenLaszlo** 其中,Flex是由Macromedia(后被Adobe收购)推出的,旨在为企业级RIA提供完整的解决方案。Flex基于ActionScript和XML技术构建,最终以SWF格式嵌入Web浏览器中。 #### Flex简介...

    Rich Internet Application

    1. **开发复杂性**:构建RIA可能需要掌握更多的技术栈,如JavaScript、Flash、JavaFX等,增加了开发难度。 2. **安全问题**:运行在客户端的代码可能存在安全风险,需要谨慎处理数据保护和隐私问题。 3. **兼容性...

    flex 在web2.0中的运用 ppt

    RIA技术包括AJAX(异步JavaScript和XML)、Adobe的Flex/Flash/AIR、Microsoft的SilverLight/WPF以及Sun的JavaFX。 Adobe Flex作为RIA技术的一种,是一个用于构建富互联网应用程序的框架,它基于面向对象的...

    ESRI技术用户培训讲义2009

    ESRI提供了多种API,如ArcObject、SOAP、ArcWebService API、WebADF、WebADF JavaScript (AJAX)、REST、JavaScript API、ArcGIS API for Flex以及ArcGIS API for Silverlight。这些API用于不同场景下的GIS开发,涵盖...

    java applet程序案例

    8. **替代技术**:随着Web技术的发展,Applet逐渐被其他技术取代,如JavaScript、Ajax、Flash、Silverlight和现代的Web框架(如Angular、React)。Java Web Start(JNLP)和JavaFX也提供更安全、更现代的替代方案。 ...

    Axure交互设计实例介绍.docx

    随着互联网技术的飞速发展,特别是富互联网应用(Rich Internet Applications, RIA)的普及,如AJAX、JavaScript、Flash、Silverlight及JavaFX等技术的应用,使得网站界面更加丰富多彩,人机交互体验得到了显著提升...

    Axure初中高级交互实例.pdf

    - **背景介绍**:随着互联网技术的不断发展,诸如 AJAX、JavaScript、Flash、Silverlight 和 JavaFX 等 RIA(Rich Internet Application)技术被广泛应用,它们能够显著提升网站界面的丰富度和用户体验。这一趋势对...

    unfocus-history-keeper:后退按钮启用、深度链接、事件驱动 JavascrptDHTMLAjaxFlash 库

    unFocus History Keeper 是一个基于 JavaScript 的深度链接和浏览器历史记录(后退按钮)管理库,用于基于单页浏览器的应用程序,也称为 RIA,通常基于 Adob​​e Flash Player 或 Ajax,尽管这也适用于其他可编写...

    未来五年程序员应当具备的十项技能.doc

    2. **富客户端应用(RIA)**:随着Flash, Flex, AIR, JavaFX, Silverlight等技术的发展,以及HTML5的崛起,掌握富互联网应用的开发技术将使程序员能够在更丰富的用户交互体验方面有所建树。 3. **Web页面开发**:...

    2011年Web开发者必须掌握的10 大技能

    在2011年,Flash仍然是RIA领域的重要角色,但随着HTML5的崛起,诸如Silverlight和JavaFX等技术也开始受到关注。同时,Ajax技术因其能够实现无刷新更新页面而成为Web开发中的必备技能之一。 #### 四、尽可能地了解...

Global site tag (gtag.js) - Google Analytics