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