李 靖
重慶電子工程職業(yè)學院,重慶 401331
淺談基于FLEX與AIR的RIA開發(fā)技術及應用
李 靖
重慶電子工程職業(yè)學院,重慶 401331
C/S構架的桌面客戶端應用程序往往功能強大、界面豐富、響應時間短,并具備良好的交互性和操作性,但安裝部署繁瑣;B/S架構的互聯(lián)網(wǎng)應用程序也存在著不少限制,例如交互性差,響應速度慢等。RIA,一種全新的Web應用程序架構,它結合了桌面軟件良好的用戶體驗和web應用程序易部署的優(yōu)點,很快獲得了企業(yè)的青睞。近年來,各大開發(fā)平臺供應商相繼推出新的技術來支持RIA的開發(fā),而ADOBE公司基于Flex與AIR的RIA開發(fā)技術及其應用已經(jīng)占據(jù)了不少市場。
RIA;Flex;Flash;AIR;富互聯(lián)網(wǎng)應用程序
傳統(tǒng)桌面客戶端應用程序(Client/Server,簡稱C/S應用程序)往往功能強大、界面豐富、響應時間短,并具備良好的交互性和操作性,但系統(tǒng)的部署、更新和維護的困難,后來出現(xiàn)了瀏覽器客戶端應用程序(Browser/Server,簡稱B/S應用程序),其通過把整個應用程序運行在服務器端,把界面解析為 HTML通過HTTP協(xié)議發(fā)送給客戶端的瀏覽器,以展現(xiàn)給用戶。B/S架構的應用程序的優(yōu)勢在于客戶端零安裝部署,但B/S架構的應用程序也存在著不少限制,例如交互性差,響應速度慢等,因此我們就希望能有一種平衡,一種能夠同時擁有C/S和B/S架構優(yōu)勢的技術,于是RIA技術出現(xiàn)了。
RIA全稱為Rich Internet Application,富互聯(lián)網(wǎng)應用程序。RIA的概念最早由Macromedia在2004年發(fā)布Flex的時候提出。
一句話,RIA就是把傳統(tǒng)Web應用程序和桌面程序的優(yōu)點結合在一起,既提供了豐富的客戶端體驗,又可以輕易部署和自由訪問Internet資源。
1)在消息確認和格式編排方面提供互動用戶界面,良好的用戶體驗;
2)在無刷新頁面之下提供快捷的界面響應時間;
3)提供通用的用戶界面特性如拖放式及在線和離線操作能力;
4)跨平臺兼容性;
5)一次加載,多次使用;
6)客戶端數(shù)據(jù)緩存功能;
7)多個應用同時工作;
8)快速的開發(fā)和部署;
9)高度的個性化可配置性;
10)具有通信包括實時互動的聲音和圖像的特點。
近年來,各大開發(fā)平臺供應商相繼推出新的技術來支持RIA的開發(fā),從 Ajax到SilverLight,從 JavaFX到 Laszlo,從Flex到Apollo和AIR,競爭異常激烈,而ADOBE公司的產品Flex與AIR占據(jù)了目前RIA市場的較大份額,是目前RIA領域里最有競爭力的開發(fā)技術。
如果說RIA技術的產生是源于謀求C/S架構與B/S架構之間的平衡,吸取兩者的優(yōu)點,那么FLEX技術就可以看作是將傳統(tǒng)的桌面應用程序搬到瀏覽器里運行的技術。我們可以在瀏覽器里運行客戶端程序,載體就是Flash player。
FLEX技術包含兩種重要的語言:
1)MXML
Flex開發(fā)者使用直觀的MXML來定義豐富的用戶界面,MXML是基于XML的一種描述語言。
2)ActionScript
Flex開發(fā)者利用ActionScript來編寫程序邏輯,ActionScript是用于Flash應用開發(fā)的面向對象的編程語言。
Flex技術開發(fā)出豐富的用戶交互界面,并最終編譯成SWF格式的客戶端應用程序,客戶端應用程序在瀏覽器的Flash插件中運行。據(jù)統(tǒng)計有98%以上的瀏覽器都安裝了Flash player。
如果說FLEX技術將傳統(tǒng)的桌面應用程序搬到了瀏覽器里運行,那么AIR技術就是將過去瀏覽器里的網(wǎng)絡應用搬到了桌面上像客戶端那樣運行。
Adobe Integrated Runtime (AIR) 是一個跨操作系統(tǒng)的運行時,利用現(xiàn)有的Web開發(fā)技術(Flash,F(xiàn)lex,HTML,JavaScript,Ajax)來構建富Internet應用程序并部署為桌面應用程序。用戶使用AIR 應用程序的方式和傳統(tǒng)桌面程序是一樣的,當運行時環(huán)境安裝好后,AIR 程序就可以其他桌面程序一樣運行了。
3.2 .1 AIR的特點:
1)本地運行,類似桌面應用程序。
2)跨平臺,類似java技術,在不同的操作系統(tǒng)上有對應的虛擬機支持。
3)開發(fā)是基于現(xiàn)有的web技術,如Flash/Flex/ActionScript/HTML/ JavaScript/CSS/Ajax/PDF,開發(fā)門檻較低。
3.2 .2 AIR的優(yōu)勢:
1)與傳統(tǒng)的B/S應用相比,有客戶端的優(yōu)勢,可以脫機運行,在需要的時候連接網(wǎng)絡;
2)與傳統(tǒng)C/S應用相比,跨平臺、低開發(fā)成本;
3)與同樣是跨平臺的技術,如JAVA技術相比,F(xiàn)lash本身能帶給人的視覺體驗和交互性體驗是非常有吸引力的。
Photoshop Express(http://www.photoshop.com/express/) 是 使用FLEX技術開發(fā)的影像編輯器,在網(wǎng)頁瀏覽器內利用Flash player運行,我們可以將它理解為“Photoshop在線版”??梢允褂肞hotoshop Express直接在線編輯圖片,雖然功能沒達到專業(yè)人員的需求,但Photoshop Express的預設功能已經(jīng)足夠強大和完善,能夠解決修圖中90%以上的需求。
這個經(jīng)典案例充分體現(xiàn)了“FLEX技術是將傳統(tǒng)的桌面應用程序搬到瀏覽器里運行的技術”這一說法。
Twitter這個為微薄系統(tǒng)被眾多用戶青睞,TweetDeck是基于Twitter網(wǎng)站的AIR應用程序,它曾被PCWorld評為PC World's 101 Undiscovered Freebies,將 Twitter搬到了桌面,這個AIR程序目前可能是最受歡迎的 Twitter 客戶端。
這個AIR程序里的內容將與Twitter網(wǎng)站服務器同步更新,很好的把網(wǎng)站搬到了自己的桌面上。
隨著互聯(lián)網(wǎng)技術的發(fā)展,人們對于用戶體驗的要求越來越高,瀏覽器和桌面之間的距離正逐漸縮短,瀏覽器里可以運行在線版的軟件,你也可以把網(wǎng)站搬到自己的桌面離線使用網(wǎng)站的部分功能。RIA技術的流行是互聯(lián)網(wǎng)未來發(fā)展的必然趨勢。3G時代的到來,RIA移動應用的發(fā)展有望為我們的移動新生活帶來更多的繽紛色彩。
[1]Macromedia:Macromedia?Flex:創(chuàng)建企業(yè)Rich Internet Application的表示層解決方案,2004.
TP393
A
1674-6708(2010)23-0220-02