文 樹子
RIA(Rich Internet Application,富互聯網應用程序)并非今天才出現的名詞,之所以開始被越來越多的技術人員所關注和重視,完全是因為用戶對互聯網站的需求正在發生極大的改變,從以靜態網頁為主到以基于瀏覽器的Web客戶端為主,這也是互聯網技術發展的必然方向。
早在2004年,Oracle資深專家Cameron ORourke就曾提出,RIA技術允許技術人員在互聯網上以一種像Web一樣簡單的方式來部署富客戶端程序。
RIA最簡單也是現在最常見的例子就是Flash。在目前的互聯網上,Flash幾乎是無處不在的應用。由于可以在較窄的帶寬條件下實現更多的應用以及提供更強大的人機交互能力,Flash一直是網頁設計者們的寵兒。
和Flash相比,HTML部署成本低、結構簡單,而且易于學習和使用,雖然不能實現一些復雜的UI效果和操作方式,但是其對數據和應用系統的訪問響應速度使得大部分程序員不能放棄HTML。
不過,Cameron ORourke曾表示,某些應用系統并不完全適合采用HTML技術。復雜的應用系統可能要求多次讀取網頁來處理一個操作,在某些領域中這樣的重復操作往往導致交互速度低得無法接受。另外,在HTML的頁面上,即使簡單的交互活動也仍然需要用很多的腳本來完成。
相比之下,在需要與用戶進行多次和復雜交互的時候,RIA的價值就體現出來了。RIA的客戶端描述引擎,能夠提供內容密集、響應速度快和圖形豐富的用戶界面,還可以使用多種技術來實時構建應用環境,甚至針對實時的數據變化做出響應。
RIA的另外一個優勢在于,用過的數據可以保存在用戶的計算機上,這樣響應速度更快且數據往返于服務器的次數更少。這一點對于移動應用來說非常重要,使用RIA的移動設備將可以使用更豐富的客戶端以及使用離線方式進行工作,從而徹底遠離每一次使用都要連接服務器獲取相應數據的網頁應用。
由于RIA的運行在終端上,因此可以給用戶帶來更好的使用體驗,并且可以彌補桌面應用程序的發布和更新以及Web網頁用戶交互性體驗較差的問題。

>> JavaScript庫是目前比較常用的RIA之一。
目前,RIA的主要類型包括JavaScript庫、Adobe Flash Builder 4、Silverlight和HTML5。
JavaScript庫
JavaScript庫是JavaScript的代碼資源。JavaScript是由Netscape的LiveScript發展而來的客戶端腳本語言,主要目的就是為了解決服務器端語言在處理交互應用時的滯后。
JavaScript提供了數據驗證的基本功能,jQuery和MooTools是首批JavaScript庫,可以實現流暢和互動的富網絡應用。JavaScript庫中的代碼資源可以使用Ajax以及處理普通的基于用戶驅動事件的交互。這些庫包括RIA組件,如網格、圖表和復雜的表單元素等。

>> 微軟的Sliverlight已經開始在開發者中普及。
目前,大部分網絡開發的JavaScript庫都是開源的,如果不想在開發環境上投入費用,但是又想使用RIA,JavaScript庫是個不錯的選擇。
不要以為JavaScript庫開源且免費就覺得其功能不強,看看使用JavaScript庫實現RIA的網站名單吧:Google、Digg、雅虎、亞馬遜、微軟、Twitter以及Best Buy都是JavaScript庫的忠實用戶。
Adobe Flash Builder 4
Adobe Flash Builder 4是一個跨平臺和跨瀏覽器的平臺,允許程序在所有的操作系統和所有的瀏覽器上以同樣的方式運行。在此之前,用Flash制作RIA的主要是設計人員。為了吸引更多的jsp/asp/php程序員,Flex被加入到了Flash Builder開發平臺中,用非常簡單的.mxml來描述界面給jsp/asp/php程序人員使用。
在瀏覽器的處理中,不同的瀏覽器有不同的JavaScript引擎管理和處理代碼,這使得由JavaScript制作的RIA應用在不同的瀏覽器里實現的效果可能會有些許差別。而Adobe的Flash只有一個引擎,用戶可以通過Adobe Flash瀏覽器插件來使用Flash程序。
目前Flash遇到的問題就是在移動終端平臺上尚不能被很好的支持。蘋果的全線移動設備干脆就不支持Flash,Symbian和Windows Mobile對Flash支持都不好,需要第三方插件才能支持,Android也只有最新版本才能支持Flash。
Microsoft Silverlight
Silverlight可以說是微軟的Adobe Flex,目前的普及程度并不高。微軟對Silverlight給予了很大的支持,但是Silverlight應用程序明顯受制于微軟的架構,如果要采用Silverlight平臺,則需要使用.NET,并將其進行整合。
和Flash一樣,Silverlight也是跨瀏覽器、跨平臺的技術,可以在所有流行的瀏覽器中運行,包括Microsoft Internet Explorer、Mozilla Firefox、Apple Safari和Opera,同樣可以運行在Microsoft Windows和Apple Mac OS X平臺上。為了保存用戶的自定義設置、大型文件以及在某些特定應用程序中創建的內容,基于Silverlight的應用程序可能會在本地計算機存儲數據文件,一旦需要保存的數據超過一定的大小,Silverlight會向用戶發出詢問,得到許可后才保存數據。
開發人員可以直接在Visual Studio 2008中創建Silverlight應用,Silverlight在Visual Studio 2008的IDE中作為一個插件出現,同樣Visual Studio為Silverlight提供了開發工具,比如.NET Framework中已經為創建應用程序提供的強大的編輯器、項目管理、調試等。
2008年6月底,微軟發布了Silverlight2.0 beta,隨后的北京奧運會上,NBC網站使用了Silverlight2.0進行了網上全程直播和點播。2009年7月,Silverlight3正式發布,2010年4月,Silverlight 4正式發布。
HTML5
HTML5是RIA的最新陣地,也是蘋果希望用來取代Flash的最新武器。HTML5本質上是HTML4、JavaScript、CSS以及Flash的綜合體。HTML5是一個開放的技術聯盟,而不是如Flash和Silverlight一樣由單一的企業進行運營。
目前除了微軟的IE8,所有主流瀏覽器都支持HTML5。不過,HTML5的最終標準尚待完全確立,第一份正式草案預計將在2010年9月正式向公眾推薦。
和以前的版本不同,HTML5不止可以用來呈現靜態的Web文本內容,在其平臺上可以呈現視頻、音頻、圖象和動畫等動態效果,同時,人機交互模式也將被標準化。