RIA入门知识 q#$Al
——来自InfoWorld的有关富互联网应用程序及技术的概述 %We~k'2f
LB1LQ0M
摘要:本文介绍了RIA的基础知识,这其中包括RIA的概念、组成及一些相关的工具包和框架。 hOG9
[@(M%
富互联网应用程序,简称RIAs,它包括一系列的应用类型和技术。 Bvb.N$G
RIA系列的轻量级终端是建立在AJAX(异步JavaScript和XML)或者Web 2.0应用上的。 E<y0;l?H<
这些应用使用异步JavaScript库为标准的Web站点添加丰富和快速响应的特性——这是AJAX的“AJA”部分。“X”是指XML,然而,现在,XML不再是被这些JavaScript库所使用的唯一数据格式,使用JSON、HTML和纯文本格式进行异步数据交换也很常见。 u_shC"X:
基于此,许多人已经不再把AJAX当成一种特殊的简称,而是泛指那些通用的Ajax应用。 B&3oo
Ajax是由多种技术推动的。其中一个关键技术是动态HTML,它是一种允许JavaScript库来操作甚至已经在客户端初始化显示了的页面内容的浏览器功能。另一个关键技术是XMLHttpRequest,它是使用JavaScript从客户端向服务器端请求的轻量级的秘密通道。 ErnjIx:
Ajax被用来扩展各种各样的网络服务器应用技术。当然,你可以用它来给静态HTML之外的页面增加数据驱动的内容,然而,将Ajax用于使用脚本网络服务器的客户端,更加合乎常规。 ;EDc1:
Ruby on Rails使得添加Ajax功能变得简单;微软的ASP.Net AJAX,正如它名字所暗示的,用于为ASP.Net站点增加Ajax功能,同时包含了与Visual Studio的集成,微软AJAX库也能用于其他类型的站点;手动地将Ajax库与Java/J2EE站点结合起来,需要花费一些精力,但是,使用Google Web Toolkit、TIBCO General Interface和ThinkCAP JX之类的工具与类库,这项工作会变得简单起来。 ~.;+uH<i
RIA系列的重量级终端由通过网络进行部署的.Net智能客户端和Java Applets共同分担。无论是两者中 的哪一个,为了运行RIA,客户端机器都需要安装一个相当大(超过10MB)的运行时引擎。 YMb\v4
RIA系列的中端被运行时引擎、开发工具和类库占据着,它们在客户端比单纯的Ajax做更多的事情,并且运行得更快,而且还没有.Net Framework或者Java JRE的运行开销。 >)\x\e
Adobe Flash、Flex和Shockwave都是中型的RIA引擎。Curl也属于这一类,OpenLaszlo同样也是——尽管OpenLaszlo可以产生Ajax和Flash应用。 m^I+>Bp/:
有几项技术正处于中端的开发中。 F%M4i`Vh
微软的Silverlight 1.0包含.Net框架的一个子集并且支持JavaScript;Silverlight 1.1包含.Net框架的一个更大子集并且支持即时编译C#、Visual Basic .Net、IronPython和IronRuby。 `f?v_Ui-$
Adobe Flex 3.0承诺要比Flex 2.0运行得更快,Adobe AIR也承诺提供一个跨操作系统的运行时,它允许开发者使用既有的Web开发技巧来构建和部署富互联网应用程序到桌面上。 LlKvi_z
与此同时,Google Gears提供了一个本地服务器(LocalServer)、一个数据库和一个工作者池(WorkerPool),使得你可以让Web应用程序运行在桌面上。 ji9 (!G
InfoWorld审核了许多RIA工具包和框架,包括开源AJAX包:Dojo、Google Web Toolkit、微软的Axis (现在的ASP.Net AJAX)、OpenRico/Prototype、Yahoo AJAX Library以及Zimbra的Kabuki AJAX Toolkit;商业AJAX工具:Backbase、Bindows、JackBe、TIBCO General Interface、Adobe Flex 2.0和Curl 5.0。 "^Y)&