RIA入门知识
——来自InfoWorld的有关富互联网应用程序及技术的概述
原文作者: Martin Heller
本文作者: Thomas Qi
摘要:本文介绍了RIA的基础知识,这其中包括RIA的概念、组成及一些相关的工具包和框架。
富互联网应用程序,简称RIAs,它包括一系列的应用类型和技术。
RIA系列的轻量级终端是建立在AJAX(异步JavaScript和XML)或者Web 2.0应用上的。
这些应用使用异步JavaScript库为标准的Web站点添加丰富和快速响应的特性——这是AJAX的“AJA”部分。“X”是指XML,然而,现在,XML不再是被这些JavaScript库所使用的唯一数据格式,使用JSON、HTML和纯文本格式进行异步数据交换也很常见。
基于此,许多人已经不再把AJAX当成一种特殊的简称,而是泛指那些通用的Ajax应用。
Ajax是由多种技术推动的。其中一个关键技术是动态HTML,它是一种允许JavaScript库来操作甚至已经在客户端初始化显示了的页面内容的浏览器功能。另一个关键技术是XMLHttpRequest,它是使用JavaScript从客户端向服务器端请求的轻量级的秘密通道。
Ajax被用来扩展各种各样的网络服务器应用技术。当然,你可以用它来给静态HTML之外的页面增加数据驱动的内容,然而,将Ajax用于使用脚本网络服务器的客户端,更加合乎常规。
Ruby on Rails使得添加Ajax功能变得简单;微软的ASP.Net AJAX,正如它名字所暗示的,用于为ASP.Net站点增加Ajax功能,同时包含了与Visual Studio的集成,微软AJAX库也能用于其他类型的站点;手动地将Ajax库与Java/J2EE站点结合起来,需要花费一些精力,但是,使用Google Web Toolkit、TIBCO General Interface和ThinkCAP JX之类的工具与类库,这项工作会变得简单起来。
RIA系列的重量级终端由通过网络进行部署的.Net智能客户端和Java Applets共同分担。无论是两者中 的哪一个,为了运行RIA,客户端机器都需要安装一个相当大(超过10MB)的运行时引擎。
RIA系列的中端被运行时引擎、开发工具和类库占据着,它们在客户端比单纯的Ajax做更多的事情,并且运行得更快,而且还没有.Net Framework或者Java JRE的运行开销。
Adobe Flash、Flex和Shockwave都是中型的RIA引擎。Curl也属于这一类,OpenLaszlo同样也是——尽管OpenLaszlo可以产生Ajax和Flash应用。
有几项技术正处于中端的开发中。
微软的Silverlight 1.0包含.Net框架的一个子集并且支持JavaScript;Silverlight 1.1包含.Net框架的一个更大子集并且支持即时编译C#、Visual Basic .Net、IronPython和IronRuby。
Adobe Flex 3.0承诺要比Flex 2.0运行得更快,Adobe AIR也承诺提供一个跨操作系统的运行时,它允许开发者使用既有的Web开发技巧来构建和部署富互联网应用程序到桌面上。
与此同时,Google Gears提供了一个本地服务器(LocalServer)、一个数据库和一个工作者池(WorkerPool),使得你可以让Web应用程序运行在桌面上。
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。
很多这些审核包括了录制下来的用于展示这些工具能做什么的视频链接,您可以访问InfoWorld RIA TechIndex获得更多的信息。
原文地址:http://www.javaworld.com/javaworld/jw-08-2007/jw-08-ria.html