本文和大家重点讨论一下主流RIA技术JavaFX、Flex和SilverLight、AJAX比较,过去的2008年是RIA技术竞争非常激烈的一年。在5月份举行的2008JavaOne大会上,JavaFX毫无悬念地成为本次JavaOne会议的焦点之一。本文将对他们进行一个简单的比较。
主流RIA技术JavaFX、Flex和SilverLight、AJAX比较
过去的2008年是RIA技术竞争非常激烈的一年。果然不出所料,Adobe公司于2008年初发布了AIR1.0和Flex3.0;紧接着Microsoft也不甘示弱,于3月份发布了Silverlight2.0Beta版;在5月份举行的2008JavaOne大会上,JavaFX毫无悬念地成为本次JavaOne会议的焦点之一。本文将对他们进行一个简单的比较。
首先什么是RIA?
RIA是RichInternetApplication(富互联网应用系统,亦称富客户端)的缩写,我们翻开维基百科,先看看它的定义。所谓RIA,首先,它应该是一个网络应用程序;其次,它还要具有桌面应用程序的特征和功能(RichInternetapplications(RIA)arewebapplicationsthathavethefeaturesandfunctionalityoftraditionaldesktopapplications)。简单地说,如果你的桌面程序(比如说Word、Photoshop和Eclipse)能在网络上运行,并且能保持其原来的功能和特征,那么我们就可以称它们为RIA应用(富客户端应用)。根据这个定义,我们能见到的RIA应用可以说很多很多,下面就列举一些常见的RIA应用。
1)JavaApplet,Applet是相当古老的RIA应用,它能嵌入到HTML页面中,并在客户端运行。
2)JavaApplication,Java应用程序可以由JavaWebStart通过网络发布到客户端,并在客户端运行。
3)JavaFX,JavaFX是Sun公司2007年发布的,准备替代Applet的一种技术或者平台,人们称它为“下一代Applet”,我想这包含两重含义,一是Sun承认它的Applet已经淘汰(Appletisdead);二是Sun公司想借重JavaFX重新争夺桌面市场。JavaFX包括JavaFX脚本语言和JavaFxMobile应用,JavaFX脚本语言是Sun发明的一种声明性(declarativelanguage)语言,其语法类似于SVG,用于快速开发图形用户界面。在这几天的JavaOne大会上,我看了来自Sun的工程师RichardBair的一段视频,Richard演示了一个叫做IRIS的系统,该系统使用了基于Swing的Applet建成(aRIAswingapplet),Richard籍此证明Applet并没有死(Iamnotdead)。如果您有兴趣,请访问http://parleys.com/display/PARLEYS/IRIS%2C+a+RIA+swing+applet观看他的演示。
4)JavaScript/Ajax,Ajax可以说是目前应用最广的RIA应用了,Web2.0概念就是因为Ajax而发展起来的。典型的Ajax应用当属Google的Gmail和GoogleMap了。为了更好满足开发者的需要,目前已经涌现出许许多多开源的Ajax框架,另外,也有一些商业的Ajax框架供开发者选择。
5)MicrosoftActiveX控件,ActiveX控件可以嵌入至HTML页面内,它的历史和Applet一样古老,但是它是微软开发的技术,所以它只能运行在IE中。
6)Silverlight,微软已经看到了RIA市场的潜力,它当然不甘落后。Silverlight就是微软用来进军RIA市场的武器。Silverlight从本质上说,是一种WPF应用程序,其界面使用XAML描述,后端可以用任何一种.Net兼容的语言开发。微软现在已经发布了Sliverlight2.0BetaSDK,开发者可以通过该SDK开发Silverlight应用。
7)Flash,Flash是Adobe公司发布的RIA技术,它可以通过FlexSDK来开发。目前,Flash在网络上的应用非常普遍。
当然,RIA应用还有很多很多,比如说Google的GWT框架、Curl及Backbase等等,在此就不一一赘述了。
【编辑推荐】
- 解析JavaFX,Flex和Silverlight的横向对比
- Flex开发者必须知道的10件事
- 技术前沿 看Flex客户端缓存技术如何使用
- 12个Flex常用功能代码再现
- 学习笔记 Flex国际化如何支持其他语言