Adobe AIR是什么
AIR允許你利用現(xiàn)有的web開發(fā)技能(包括Flash, Flex, HTML, JavaScript, Ajax)優(yōu)勢,建立和配置跨平臺(或跨操作系統(tǒng))的桌面RIA(Internet Applications)應(yīng)用。
AIR能使你在熟悉的環(huán)境下工作,去利用你覺得的最舒適的工具,并且通過支持Flash, Flex, HTML, JavaScript, and Ajax,去建立接近你需要的盡可能好的體驗。
比如應(yīng)用程序能用下列一個或一個技術(shù)的組合來開發(fā):
- Flash / Flex / ActionScript
- HTML / JavaScript / CSS / Ajax
- PDF can be leveraged with any application
- 因此,AIR 應(yīng)用程序可以是下列幾種情況:
- 基于 Flash or Flex: 基礎(chǔ)內(nèi)容是 Flash/Flex (SWF)的應(yīng)用程序
- 基于 Flash or Flex 附帶HTML 或 PDF. 基礎(chǔ)內(nèi)容是Flash/Flex (SWF) 帶有 HTML (HTML, JS, CSS) 或PDF內(nèi)容的應(yīng)用程序
- HTML為基礎(chǔ). 基礎(chǔ)內(nèi)容是HTML, JS, CSS的應(yīng)用程序
- HTML為基礎(chǔ)附帶 Flash/Flex或 PDF. 基礎(chǔ)內(nèi)容是HTML帶有Flash/Flex (SWF)或PDF 內(nèi)容的應(yīng)用程序
用戶與AIR應(yīng)用程序交互操作,與他們使用本地桌面程序的方法是一樣的。AIR虛擬機runtime一旦被安裝在用戶的計算機上,AIR應(yīng)用程序就能象其他桌面應(yīng)用程序一樣,被安裝和運行。
由于 AIR 是一個應(yīng)用程序的運行時環(huán)境,它的用戶界面幾乎不可見,您可以完全控制在上面運行的應(yīng)用程序和它提供給用戶的體驗。 該運行時環(huán)境為部署應(yīng)用程序提供了一個一致的跨操作系統(tǒng)的平臺和框架,因此可以取消跨瀏覽器測試, 可以通過確??缱烂娴墓δ芎徒缑娴囊恢滦詠韺崿F(xiàn)。 你現(xiàn)在只需要針對這個運行時環(huán)境來進行開發(fā),而不必對各種特定的操作系統(tǒng)一一進行開發(fā)。 這帶來很多優(yōu)點:
應(yīng)用程序開發(fā)跨越多個平臺,這些都不需要你額外的工作。
應(yīng)用程序可以用你熟悉的web技術(shù)和設(shè)計模式快速建立,而不用學(xué)習(xí)傳統(tǒng)的復(fù)雜的本地桌面開發(fā)技術(shù),不用學(xué)習(xí)底層開發(fā)語言如c或c++,也不需要學(xué)習(xí)每一個特定的操作系統(tǒng)的底層API技術(shù)。
當(dāng)開發(fā)基于AIR的應(yīng)用程序時,你可以利用的框架和API的優(yōu)勢
特定的基于AIR運行時的APIs ,和 AIR 框架
在swf文件里使用的ActionScript APIs 和Flex 框架
AIR提供一個新的范例,大大地改變了應(yīng)用程序建立,部署和體驗的方式。 你可以取得更多創(chuàng)造性的控制,并且能擴展你的Flash, Flex, HTML, 和基于Ajax的程序到桌面應(yīng)用程序,而無需學(xué)習(xí)傳統(tǒng)桌面程序開發(fā)技術(shù)。
優(yōu)勢
AIR被媒體譽為2007年最值得關(guān)注的技術(shù),就像當(dāng)時的ajax一樣,將被廣泛的關(guān)注。
現(xiàn)在來看看Air的優(yōu)勢在哪里?要明白其優(yōu)勢,需要先清楚下列的幾個問題。
一、目前網(wǎng)絡(luò)應(yīng)用的幾種形式
網(wǎng)絡(luò)應(yīng)用紛繁復(fù)雜,但我想大概可以劃分為下列幾種類型:
web訪問方式-如大量的網(wǎng)站服務(wù)應(yīng)用,直接通過ie和firefox等瀏覽器,借助統(tǒng)一標(biāo)準(zhǔn)的http協(xié)議獲得服務(wù),雖然瀏覽器也是客戶端,但對用戶來說已是標(biāo)準(zhǔn)配置,而且用戶訪問的web服務(wù)與瀏覽器無關(guān),所以可以和下面的桌面軟件分開來說;
優(yōu)點是:跨平臺,除了具有桌面程序所有的一切優(yōu)點外,跨平臺性是其最大的優(yōu)勢,與操作系統(tǒng)平臺無關(guān),與瀏覽器無關(guān)。
缺點是:用戶的交互操作及用戶體驗,比不上桌面應(yīng)用程序雖然目前web的ajax技術(shù)使這一問題有了改觀,但依然不如客戶端來的方便;可提供的web服務(wù)形式比較受單一協(xié)議的限制。
局限于操作系統(tǒng)的桌面(或客戶端)程序-如bt下載、im軟件等,種類繁雜,協(xié)議眾多,需要下載安裝才能獲得服務(wù)的。
優(yōu)點是:用戶的交互操作體驗,只要想做就可以做的很到位,因為許多操作是在本地,不用網(wǎng)絡(luò)鏈接,所以操作響應(yīng)即時,另外提供的網(wǎng)絡(luò)服務(wù)形式不象web受單一協(xié)議的局限,甚至可以做自己的協(xié)議。
跨平臺的客戶端應(yīng)用程序-主要是sun倡導(dǎo)的java技術(shù),一次開發(fā)跨平臺執(zhí)行。
缺點是:其技術(shù)本身要求下載一個虛擬機安裝,對大多數(shù)網(wǎng)民來說也是一個門檻。
Adobe AIR技術(shù)的特點
從Adobe官方的宣傳來看,其特點有下列幾點:
1、本地運行-類似桌面應(yīng)用程序。
2、跨平臺-類似java技術(shù),在不同的操作系統(tǒng)上有對應(yīng)的虛擬機支持,目前已經(jīng)有windows和mac,linux。
3、開發(fā)是基于現(xiàn)有的web技術(shù),如Flash / Flex / ActionScript / HTML / JavaScript / CSS / Ajax /PDF,對于開發(fā)人員,不需要學(xué)習(xí)c、c++、java之類的底層開發(fā)語言,不需要學(xué)習(xí)具體操作系統(tǒng)底層API的開發(fā);這降低了開發(fā)門檻,使現(xiàn)有的做web開發(fā)的技術(shù)人員,依賴其原本就很熟悉的開發(fā)模式,稍加訓(xùn)練就可以開發(fā)良好豐富的富客戶端應(yīng)用。
Adobe AIR和目前其他幾種網(wǎng)絡(luò)應(yīng)用形式比較
優(yōu)勢比較
1、比web的優(yōu)勢在于,有客戶端的優(yōu)勢;可以脫機運行,在需要的時候偶爾連接網(wǎng)絡(luò)。
2、比傳統(tǒng)的客戶端優(yōu)勢,在于跨平臺,和低開發(fā)成本,比如這一特性可以使現(xiàn)有的國內(nèi)電子雜志系統(tǒng),輕松實現(xiàn)跨平臺。
3、比java跨平臺的優(yōu)勢在于,其flash技術(shù)本身的帶來的更吸引人的交互表現(xiàn)。
Adobe AIR會存在的問題缺點:
1、其虛擬機的下載安裝,會是一個推廣的門檻。
2、畢竟采用的大多是web 開發(fā)技術(shù),雖然在桌面端有些api擴展,但肯定也不能完全替代傳統(tǒng)客戶端的開發(fā)。
綜述
綜上所述Adobe Air技術(shù)的前景應(yīng)該還是非常好的,只要其虛擬機的推廣規(guī)模和flash插件一樣,其巨大的應(yīng)用空間,將不可小視;相信有flash技術(shù)普及的底子,實現(xiàn)這一點也不會是個難事,當(dāng)然還要依賴于使用這一技術(shù)的各應(yīng)用開發(fā)商的努力推廣支持。