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

歡迎大家訪問我的個人網站 萌萌的IT人