主流RIA技术JavaFX、Flex和SilverLight、AJAX比较

首先什么是RIA?

RIA是Rich Internet Application(富互联网应用系统,亦称富客户端)的缩写,我们翻开维基百科,先看看它的定义。所谓RIA,首先,它应该是一个网络应用程序;其次,它还要具有桌面应用程序的特征和功能 (Rich Internet applications (RIA) are web applications that have the features and functionality of traditional desktop applications)。简单地说,如果你的桌面程序(比如说Word、Photoshop和Eclipse)能在网络上运行,并且能保持其原来的功能和特征,那么我们就可以称它们为RIA应用(富客户端应用)。根据这个定义,我们能见到的RIA应用可以说很多很多,下面就列举一些常见的RIA应用。

1)Java Applet,Applet是相当古老的RIA应用,它能嵌入到HTML页面中,并在客户端运行。

2)Java Application,Java应用程序可以由Java Web Start通过网络发布到客户端,并在客户端运行。

3)JavaFX,JavaFX是Sun公司2007年发布的,准备替代Applet的一种技术或者平台,人们称它为“下一代Applet”,我想这包含两重含义,一是Sun承认它的Applet已经淘汰(Applet is dead);二是Sun公司想借重JavaFX重新争夺桌面市场。JavaFX包括JavaFX脚本语言和JavaFx Mobile应用,JavaFX脚本语言是Sun发明的一种声明性(declarative language)语言,其语法类似于SVG,用于快速开发图形用户界面。在这几天的JavaOne大会上,我看了来自Sun的工程师Richard Bair的一段视频,Richard演示了一个叫做IRIS的系统,该系统使用了基于Swing的Applet建成(a RIA swing applet),Richard籍此证明Applet并没有死(I am not dead)。如果您有兴趣,请访问 http://parleys.com/display/PARLEYS/IRIS%2C+a+RIA+swing+applet 观看他的演示。

4)JavaScript/Ajax,Ajax可以说是目前应用最广的RIA应用了,Web2.0概念就是因为Ajax而发展起来的。典型的Ajax应用当属 Google的Gmail和Google Map了。为了更好满足开发者的需要,目前已经涌现出许许多多开源的Ajax框架,另外,也有一些商业的Ajax框架供开发者选择。

5)Microsoft ActiveX控件,ActiveX控件可以嵌入至HTML页面内,它的历史和Applet一样古老,但是它是微软开发的技术,所以它只能运行在IE中。

6)Silverlight,微软已经看到了RIA市场的潜力,它当然不甘落后。Silverlight就是微软用来进军RIA市场的武器。 Silverlight从本质上说,是一种WPF应用程序,其界面使用XAML描述,后端可以用任何一种.Net兼容的语言开发。微软现在已经发布了 Sliverlight2.0 Beta SDK,开发者可以通过该SDK开发Silverlight应用。

相关推荐