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