RIA入門(mén)知識(shí)
——來(lái)自InfoWorld的有關(guān)富互聯(lián)網(wǎng)應(yīng)用程序及技術(shù)的概述
                                                                                                     原文作者: Martin Heller
                                                                                                     本文作者: Thomas Qi

摘要:本文介紹了RIA的基礎(chǔ)知識(shí),這其中包括RIA的概念、組成及一些相關(guān)的工具包和框架。

富互聯(lián)網(wǎng)應(yīng)用程序,簡(jiǎn)稱(chēng)RIAs,它包括一系列的應(yīng)用類(lèi)型和技術(shù)。
RIA系列的輕量級(jí)終端是建立在AJAX(異步JavaScript和XML)或者Web 2.0應(yīng)用上的。
這些應(yīng)用使用異步JavaScript庫(kù)為標(biāo)準(zhǔn)的Web站點(diǎn)添加豐富和快速響應(yīng)的特性——這是AJAX的“AJA”部分。“X”是指XML,然而,現(xiàn)在,XML不再是被這些JavaScript庫(kù)所使用的唯一數(shù)據(jù)格式,使用JSON、HTML和純文本格式進(jìn)行異步數(shù)據(jù)交換也很常見(jiàn)。
基于此,許多人已經(jīng)不再把AJAX當(dāng)成一種特殊的簡(jiǎn)稱(chēng),而是泛指那些通用的Ajax應(yīng)用。
Ajax是由多種技術(shù)推動(dòng)的。其中一個(gè)關(guān)鍵技術(shù)是動(dòng)態(tài)HTML,它是一種允許JavaScript庫(kù)來(lái)操作甚至已經(jīng)在客戶(hù)端初始化顯示了的頁(yè)面內(nèi)容的瀏覽器功能。另一個(gè)關(guān)鍵技術(shù)是XMLHttpRequest,它是使用JavaScript從客戶(hù)端向服務(wù)器端請(qǐng)求的輕量級(jí)的秘密通道。
Ajax被用來(lái)擴(kuò)展各種各樣的網(wǎng)絡(luò)服務(wù)器應(yīng)用技術(shù)。當(dāng)然,你可以用它來(lái)給靜態(tài)HTML之外的頁(yè)面增加數(shù)據(jù)驅(qū)動(dòng)的內(nèi)容,然而,將Ajax用于使用腳本網(wǎng)絡(luò)服務(wù)器的客戶(hù)端,更加合乎常規(guī)。
Ruby on Rails使得添加Ajax功能變得簡(jiǎn)單;微軟的ASP.Net AJAX,正如它名字所暗示的,用于為ASP.Net站點(diǎn)增加Ajax功能,同時(shí)包含了與Visual Studio的集成,微軟AJAX庫(kù)也能用于其他類(lèi)型的站點(diǎn);手動(dòng)地將Ajax庫(kù)與Java/J2EE站點(diǎn)結(jié)合起來(lái),需要花費(fèi)一些精力,但是,使用Google Web Toolkit、TIBCO General Interface和ThinkCAP JX之類(lèi)的工具與類(lèi)庫(kù),這項(xiàng)工作會(huì)變得簡(jiǎn)單起來(lái)。
RIA系列的重量級(jí)終端由通過(guò)網(wǎng)絡(luò)進(jìn)行部署的.Net智能客戶(hù)端和Java Applets共同分擔(dān)。無(wú)論是兩者中 的哪一個(gè),為了運(yùn)行RIA,客戶(hù)端機(jī)器都需要安裝一個(gè)相當(dāng)大(超過(guò)10MB)的運(yùn)行時(shí)引擎。
RIA系列的中端被運(yùn)行時(shí)引擎、開(kāi)發(fā)工具和類(lèi)庫(kù)占據(jù)著,它們?cè)诳蛻?hù)端比單純的Ajax做更多的事情,并且運(yùn)行得更快,而且還沒(méi)有.Net Framework或者Java JRE的運(yùn)行開(kāi)銷(xiāo)。
Adobe Flash、Flex和Shockwave都是中型的RIA引擎。Curl也屬于這一類(lèi),OpenLaszlo同樣也是——盡管OpenLaszlo可以產(chǎn)生Ajax和Flash應(yīng)用。
有幾項(xiàng)技術(shù)正處于中端的開(kāi)發(fā)中
微軟的Silverlight 1.0包含.Net框架的一個(gè)子集并且支持JavaScript;Silverlight 1.1包含.Net框架的一個(gè)更大子集并且支持即時(shí)編譯C#、Visual Basic .Net、IronPython和IronRuby。
Adobe Flex 3.0承諾要比Flex 2.0運(yùn)行得更快,Adobe AIR也承諾提供一個(gè)跨操作系統(tǒng)的運(yùn)行時(shí),它允許開(kāi)發(fā)者使用既有的Web開(kāi)發(fā)技巧來(lái)構(gòu)建和部署富互聯(lián)網(wǎng)應(yīng)用程序到桌面上。
與此同時(shí),Google Gears提供了一個(gè)本地服務(wù)器(LocalServer)、一個(gè)數(shù)據(jù)庫(kù)和一個(gè)工作者池(WorkerPool),使得你可以讓W(xué)eb應(yīng)用程序運(yùn)行在桌面上。
InfoWorld審核了許多RIA工具包和框架,包括開(kāi)源AJAX包:Dojo、Google Web Toolkit、微軟的Axis (現(xiàn)在的ASP.Net AJAX)、OpenRico/Prototype、Yahoo AJAX Library以及Zimbra的Kabuki AJAX Toolkit;商業(yè)AJAX工具:Backbase、Bindows、JackBe、TIBCO General Interface、Adobe Flex 2.0和Curl 5.0。
很多這些審核包括了錄制下來(lái)的用于展示這些工具能做什么的視頻鏈接,您可以訪問(wèn)InfoWorld RIA TechIndex獲得更多的信息。

原文地址:http://www.javaworld.com/javaworld/jw-08-2007/jw-08-ria.html

歡迎大家訪問(wèn)我的個(gè)人網(wǎng)站 萌萌的IT人