跨平臺工具詳解:Adobe Air/Flex
Adobe Air / Flex
Adobe位于CaliforniaSan Jose,成立于1982年。Adobe在NASDAQ上市,擁有1萬名左右的員工,僅2011年一年的稅收超過40億美金。Adobe的核心業務是開發出專業的設計創意工具,比如,Photoshop和Dreamweaver,數字化演示解決方案,包括Acrobat PDF和Flash,其中Flash是由Adobe收購Macromedia而來。
產品和技術支持
Adobe的跨平臺產品有Flash Player,AIR runtime和Flex(該框架允許企業開發人員創建AIR App)。AIR設計用來開發桌面(Windows和Mac)應用程序,但是現在主要面向移動設備和STB,允許開發者們把iOS,Android和Blackberry等,機頂盒和電視作為目標平臺。Flex是UI框架,簡化了企業應用程序的開發步驟,可以快速創建連接數據庫的應用程序。
AIR是一個不需要瀏覽器的Flash播放器–開發者使用Adobe的拖拽IDE(Flash Professional,或Dreamweaver)設計應用程序,使用ActionScript(類似于JavaScript)進行編碼。AIR runtime可以嵌入本地應用程序,允許開發者把iOS,Android移動平臺,Black tablets和桌面機Windows和Mac操作系統作為其目標平臺。AIR允許App使用legacy代碼,本地擴展,3D圖像加速,web連接,本地數據庫和后臺運行。AIR App也可以使用WebKit內核,HTML和JavaScript語言進行開發。
AIR(和Flash)主要面向設計者,Flex主要面向使用簡化語言(MXML)快速開發以數據為中心的應用程序企業開發人員。MXML代碼被轉換為ActionScript3,之后轉化為字節碼,然后運行時使用Adobe AIR和Flash Player解釋。Flex實質上是一個AIR的外置SDK,加速了數據庫驅動的企業應用程序的開發過程。Flex SDK包含一個編譯器(把MXML–一種簡化標記語言解釋成ActionScript),數據集的UI組件,圖表和網格和一個調試器。Flex應用程序使用Adobe Flash Builder開發,Flex SDK是開源的,可以免費下載使用。圖表組件需要高級許可證才能使用。需要注意的是Flex逐漸被Adobe淘汰,以轉向ActionScript 3和HTML/JS/CSS開發。
2011年10月,Adobe收購了Nitobi,PhoneGap背后的主力軍–基于Web的跨平臺開發框架。收購完成之后,Apache Foundation把PhoneGap和Flex框架發布成為開源項目。
市場份額
Adobe的Flash Lite曾是除了Java ME以外使用最廣泛的Runtime,它包含超過10億臺移動設備的安裝庫。遺憾的是,龐大的安裝庫需要以嚴重分散的平臺和開發人員層次為代價。目前,AIR多用于Android設備,但是只面向Android 2.2及以上版本的設備。
很多高人氣的App都是使用AIR或Flex開發的,包括本地iOS App(例:Machinarium),桌面App(例:eBay)和瀏覽器App(例:BBC iPlayer)。目前,AIR和Flex主要用于3D游戲和高級video App的開發,特別是把桌面瀏覽器游戲移植到移動設備–據Adobe稱,十分之九的Facebook游戲都是使用Flash開發的。
定位
AIR(和Flash)最初被定位為,它使用ActionScript處理業務邏輯。相反,Flex旨在后端應用的開發人員,他們通常精通C++或PHP。Flex的學習曲線與同類工具相比,要長一些。在我們的調查中,37%開發者指出,他們通常經過3個月的學習過程,才感覺掌握了這個工具。值得注意的是,39%的開發者認為他們選擇Flex是因為它豐富的UI–大大超過平均支持率15%。
我們的調查顯示:企業App(40%)、教育App(24%)是開發者們選擇使用Flex開發的首要選擇。
Appcelerator/Aptana的整合對Adobe來說會是一個非常大的挑戰。Adobe剛剛涉足3D市場,而Appcelerator很有可能搶占先機。同時,Flex需要改進本地UI元素,48%的調查對象認為這是該工具急需改善的地方。