Adobe AIR現在的正式版本是1.5,當然經過開發者這麼長時間的開發體驗和應用部署,AIR的一些薄弱環節日益顯露出來了,包括無法與本地應用程序進程通訊,無法識別USB大容量存儲設備等等。Adobe的AIR團隊通過征集開發者和最終用戶的建議,將一些新特性融入到AIR2.0的版本中來了。當然因為是Beta版,肯定會有一些Bug,我們在體驗AIR2.0的同時,也可以將發現的Bug反饋給Adobe,以便在正式版本中剔除Bug。
已知的Bug:
http://labs.adobe.com/wiki/index.PHP/AIR_2:Release_Notes#Known_Issues
首先我們來看一下AIR2.0帶來的新特性或原有特性的增強。
如果你還不了解AIR,請參見
Part1:AIR2.0新特性按照類型用默認的程序打開文件
在AIR2.0中,你可以使用新的API(File.openWithDefaultApplication)來打開一個文件,比如.doc,.pdf,.mp3等等,這些文件將被跟文件相關的默認應用程序打開(微軟Office,Adobe Acrobat Reader,Media Player等等),這樣就提供一種可能性,你可以用AIR構建一個文件管理系統,而打開其中的文件則使用默認的應用程序,而且這是跨平台的。舉個例子說,你創建了一個音樂管理系統,當你雙擊打開一個MP3文件,在不同的操作系統上可能會用不同的應用程序打開,在Windows上可能是Windows Media Player,在蘋果系統上可能是iTunes,在Linux上可能是SongBird。如果你傳遞的不是一個文件而是一個目錄,那麼就會用操作系統默認的方式(比如Windows就是資源管理器)打開這個目錄。
大容量存儲設備檢測
現在你可以檢測大容量存儲設備(比如USB存儲卡和某些類型的相機),是否連接到了用戶的計算機。這樣你就可以開發一個應用程序,檢測到相機插入了用戶的電腦,然後提示用戶將視頻上傳到YouTube。
本地進程API
一些開發者希望能夠更好的整合AIR和現有的本地代碼庫,或使用本地代碼來擴展AIR運行時。雖然我們在Adobe AIR1.0的版本就打算做這個工作,但當時我們聽到開發者更希望AIR是跨平台的。在接下來的時間裡,以.air為後綴的AIR應用有著廣泛的應用。在AIR2.0中,我們希望能幫助開發者在不影響跨平台的情況下來擴展AIR應用,增強用戶體驗。為了實現這個目標,我們增加了一個本地進程的API,讓開發者可以啟動一個進程並與之通訊。要使用本地進程的API,應用程序必須以本地應用程序安裝文件而不是.air安裝文件。為了做到這一點,在AIR SDK中支持產生操作系統特定的安裝文件(.exe,.dmg,.deb)。
訪問麥克風數據
在AIR2中,你可以直接通過麥克風錄音,而不需要通過FMS。
多點觸摸和手勢支持
你可以偵聽多點觸摸(需要Windows7)和手勢(Windows7和Mac OS X雪豹)所產生的多點觸摸硬件事件。大家可能看過一些多點觸摸的例子,有個AIR2和基本的硬件支持,我們就可以開發這種類型的應用了。
全局錯誤處理
利用全局錯誤處理,你可以在一個地方處理所有捕獲的錯誤,包括同步錯誤事件和異步錯誤事件。
增強的打印支持
在AIR2中我們繼續增強打印。在Mac系統,支持矢量打印,將高質量的內容發送到打印機。 此外,新的API將允許開發人員訪問本地計算機的打印列表,並在沒有對話框的情況下打印。一項新功能,我們稱之為“選擇最佳打印方式”將自動確定采用位圖或矢量圖打印方式。
更新的Html渲染引擎(WebKit)
本版本中的Html渲染引擎是基於WebKit的Safari浏覽器4.0.3的版本。其中JavaScript的執行效率提升了50%,支持Html5,此外還支持CSS3(二維變換,轉換,動畫,漸變,放大和CSS選擇器),通過CSS樣式增強滾動條。
改進的IPv6支持
IPv6格式的地址格式在新的API中得到支持。
增加NativeWindow的尺寸上限
在AIR1中只能創建最大2880 × 2880的窗口,但在AIR2,我們增加了此限制,提高到4095 x 4095。
Socket支持
---服務器套接字(Socket)支持:你可以偵聽Socket連接,並可以在本地建立一個輕量級的Socket服務器,與應用程序通訊。
---UDP Socket支持:你可以使用UDP協議來發送信息,這對時間敏感的應用,比如類似QQ的即時聊天工具,將得到更快的響應速度以及更好的用戶體驗。
---TLS/SSL Socket支持:通過加密協議更安全的傳遞敏感數據。
DNS查詢
使用新的DNSResolver類,你可以獲得IPv4和IPv6的地址信息。
網絡接口枚舉
你可以枚舉在客戶端計算機上可用的硬件和軟件的網絡接口列表,並且綁定一個特定接口的IP使用Socket通訊。
數據庫事務保存點
可以提交或回滾作為單個事務中的多個數據庫的變化。
增強的拖拽支持
你現在可以從AIR2.0創建的應用中拖拽一個還沒有被創建的文件,並且在松開鼠標後提供這個文件的數據。比如說假定有一個FTP客戶端的應用,當用戶拖拽一個文件(當然並不存在)到桌面,你就可以下載這個文件的數據並保存到文件中。
輸入法增強
輸入法編輯器(IME)可以用於任何InteractiveObject,不只是TextFIEld對象,這就意味著你可以使用新的Flash文本引擎和Adobe文本布局框架。
性能優化
在Mac系統上,處於後台運行的應用將降低50%的CPU消耗,而在更多系統上,則將內存的使用量降低15-20%。同樣運行時的尺寸也變小了。
看了這些新特性是不是心動了,來開始開發吧。
Part2:配置AIR2.0開發環境在配置開發環境之前,先要下載並安裝AIR2.0的運行時,下載地址是:
http://download.Macromedia.com/pub/labs/air/2/b1/air2_b1_runtime_win_111709.exe
下載後直接雙擊安裝即可,如果你之前安裝過1.5的版本,那麼會提示更新,一路next即可。
下載AIR2的SDK,下載地址是:http://download.Macromedia.com/pub/labs/air/2/b1/air2_b1_sdk_win_111709.zip
開發環境配置之Flex篇在下面的章節裡,我們會在一些練習中詳細體驗AIR2.0的新特性。