常見AdobeFlex誤解剖析
本文和大家重點討論一下常見AdobeFlex誤解,在Qcon上,Adobe的JamesWard和InfoQ.com一起分享了他推廣傳播Flex應用框架過程中所遇到的對AdobeFlex的幾個誤解,希望本文介紹對你的學習有所幫助。
常見AdobeFlex誤解
在Qcon上,Adobe的JamesWard和InfoQ.com一起分享了他推廣傳播Flex應用框架過程中所遇到的對AdobeFlex的幾個誤解。
AdobeFlex誤解一:為了運行Flex應用程序用戶需要安裝新東西
Ward向InfoQ.com獨家論述了Flash采用比例和Flex編程模型:
Flex2和Flex3必需運行在FlashPlayer9上。FlashPlayer9運行時目前已經被安裝在世界94%的計算機上:http://www.adobe.com/products/player_census/flashplayer/version_penetration.html
Flex2和Flex3的應用程序執行在FlashPlayer9環境下。Flex應用程序構建在本地FlashPlayerAPI之上,如矢量圖形、位圖處理和網絡(基于瀏覽器網絡協議棧)。Flex框架增加了如日期選擇器、數據表格、圖表等可重用組件。編譯Flex應用程序的結果產生一個SWF文件,它是供FlashPlayer使用的二進制字節碼格式。SWF文件包含的是Flex框架代碼和項目自定義代碼的字節碼。Flex編譯器對字節碼進行了優化,只將要用的類編譯到SWF文件中。
對于桌面應用軟件,Adobe的目標是推出自己名為AdobeAIR的新桌面運行時,希望能像Web運行時一樣普及。AdobeAIR1.0版本將于2008年初發布。目前,從labs.adobe.com上可得到的AIR是測試版。許多公司都已經在使用AIR構建產品軟件。eBay的應用程序eBay桌面就是一個例子。
AdobeFlex誤解二:FlashPlayer是100%私有的
Ward繼續為InfoQ.com做出說明:
FlashPlayer的核心是Tamarin虛擬機,這是Mozilla旗下的一個開源項目。而SWF文件格式不是完全開放的,它是由osflash.org社區備案的。已有很多讀寫SWF文件的開源產品。FlashPlayer產品的發展方向在很大程度上受該社區及其需求所影響。FlashPlayer的核心語言是ECMAScript262的一個實現,ECMAScript262是JavaScript的規范。Flex還將CSS用于組件/應用的樣式。AdobeAIR使用web標準以及開源技術如Tamarin、Webkit和SQLite作為其桌面應用的基礎。
AdobeFlex誤解三:Flash是為設計者、視頻準備的,而且讓人討厭
2007年7月Ward在博客文章“我是如何克服對Flash的恐懼”中指出:
毋庸置疑的,Flash的能力被濫用了。彈出窗口、跳過介紹和煩人的廣告橫行于我們的屏幕上。我曾聽人們說過不應該因為一個宗教被濫用而否定它。這一格言同樣適用于技術。FLASH不能因為有些人拿它來做令人討厭的東西而遭到摒棄。畢竟e-mail并沒有因為垃圾郵件泛濫而消失。
Ward為InfoQ.com詳細闡述了該主題:
傳統的FLASH是用為設計者提供的基于時間軸的工具構建的。Flex是用于構建基于Flash的內容/應用的開發者工具套件。設計者和開發者通過共享兩個工具之間的資源能夠攜手合作。Flex增加了一個全面的組件庫:
http://www.adobe.com/go/flex_explorer_app
http://www.adobe.com/cfusion/exchange/index.cfm?event=productHome&exc=15&loc=en_us
AdobeFlex誤解四:Flex不是為企業/商業應用準備的
在過去數周里,Ward發布了關于Oracle在AdobeFlex之上實現大量新應用的七篇系列博客文章。這些應用軟件近來公布在OracleOpenWorld上,其范圍涉及從銷售工具到數據庫管理和商業智能。
除了Oracle對Flex的使用,InfoQ.com也公布了一些使用Flex開發企業應用的團體。Ward也為InfoQ.com指出了很多使用AdobeFlex開發企業級應用的例子,包括:Workday,SAP,Salesforce和BusinessObjects。
AdobeFlex誤解五:Flex太貴
Ward詳述了Adobe所做的一系列努力來消除公眾對價格的誤解:
Flex是為構建Web和桌面的豐富互聯網應用所提供的、免費的開發工具包,并且馬上要開源。免費SDK包含了開發者構建RIA應用所需的一切,構建出的RIA應用可在任何瀏覽器或操作系統上同樣工作。免費FlexSDK的一部分部分是一套內容廣泛的組件集,其可擴展、可更換皮膚且可訪問。你可以在Flex組件資源管理器上看到很多這樣的組件:http://www.adobe.com/devnet/flex/samples/code_explorer/
FlexBuilder是一個可選的Eclipse插件,這讓使用免費FlexSDK開發應用軟件更高效。它包括如集成調試、設計視圖和代碼補全等功能。
最近也采取了不少辦法來調整FlexBuilder的價格。FlexBuilder現正免費提供給學生及教職人員。不帶圖表組件的vanilla版本FlexBuilder,其價格已降至249美元,以此更好地平衡FlexBuilder的價格等級。
還有許多構建Flex應用后端基礎結構的可選項。為了利用高性能AMF數據傳輸協議,有如LiveCycle數據服務這樣的官方Adobe產品,以及如Granite數據服務這樣的眾多開源項目。使用AMF消除了以下不必要的步驟:從數據轉換為文本(SOAP,RESTful等),傳送,然后再由文本轉換回數據。AMF還允許在線傳送中保存類型信息。
關于AMF和其他基于文本序列化技術的比較,請看JamesWard的RIA基準應用系統普查:http://www.jamesward.org/census.
【編輯推薦】
- AdobeFlex學習手冊
- 常用FlexBuilder快捷鍵用法指導
- 剖析學習AdobeFlex時常見十大誤區
- 技術前沿 Flex2.0 從零開始實現文件上傳
- AdobeFlexBuilder3七大新特性先睹為快