技術前沿 FlexRIA深入企業級IDE,欲進軍移動領域
最近FlexRIA深入企業級IDE,欲進軍移動領域,2004年3月,Macromedia(2005年被Adobe收購)發布了Flex1.0。從那時起,基于FlexRIA開發獲得了越來越多的動力,FlexRIA也已經成為廣泛接受的Web應用開發方式。
FlexRIA深入企業級IDE,欲進軍移動領域
2004年3月,Macromedia(2005年被Adobe收購)發布了Flex1.0。從那時起,基于FlexRIA開發獲得了越來越多的動力,FlexRIA也已經成為廣泛接受的Web應用開發方式。現在Adobe已經發布Flex4,隨之而來的是FlashBuilder4以及FlashCatalyst,他們都將成為AdobeFlashPlatform技術的組成部分。
Flex開發環境
AdobeFlexBuilder仍然是使用最為廣泛的商業FlexIDE。它構建在開源的EclipseIDE平臺之上。在Flex4發布后,FlexBuilder即將更名為FlashBuilder。除此以外,AdobeFlashCatalyst目前還處在beta版,這是一款設計工具,旨在通過集成設計與編程以將Flash設計人員與Flex開發人員聯系起來。
除了Adobe的工具外,Flex開發也已經深入到了現有的各種IDE中。
IntelliJIDEA,這是一款大獲成功的JavaIDE,它已經從v7開始支持Flex開發了。***的IntelliJIDEA9提供了更加全面的特性以支持Flex。
Amethyst是一款構建于MicrosoftVisualStudio之上的FlexIDE。它向微軟平臺的開發者們提供了熟悉的環境進行Flex開發。
EnsembleTofinoforVisualStudio同樣是一款面向Windows開發者的Flex開發工具。
FlashDevelop是一個開源的ActionScript2/3及Web開發環境。它集成了AdobeFlashIDE、AdobeFlexSDK、MTASC(一個開源的Flash)、haXe(一門開源的編程語言,可以被編譯成swf)以及swfmill(一個支持XML到swf雙向轉換的處理器)。
應用框架
開發軟件框架的目的在于實現常見的軟件開發模式以提高編程生產率及改善質量。2008年推出的一些Flex/ActionScript框架對于Flex使用率的提升功不可沒。他們是Cairngorm、PureMVC、Model-Glue:Flex、Foundry、GuasaxFlexFramework、ARP、FlestFramework、EasyMVC以及AdobeFAST。從那以后涌現出了越來越多的框架,這些框架豐富了Flex開發生態圈:
Ruboss這個Flex框架集成了RubyonRails和Merb。它還有一個RESTful接口以與AdobeAIR的嵌入式SQLite數據庫進行通信。Ruboss框架與Rails和Merb應用的關系就好像是AdobeLiveCycleDataServicesES與J2EE應用的關系一樣。
MateFlex框架發布于2008年,其目的是簡化事件驅動的Flex應用開發。
Swiz是個面向Flex的IoC框架。它并沒有太多的強制要求,比如目錄結構或是樣板代碼等,這一點與其他框架如JEE大不相同。
Prana是又一個面向ActionScript的IoC框架。它基于Spring框架的XML方式進行開發。
JumpShip是個ActionScriptMVC框架,包含了標準的數據模型以進行自動化的數據分類、枚舉以及搜索。它反對在框架中使用單例模式,而單例模式在現代的軟件框架中得到了廣泛的應用。
GAIA是個面向AdobeFlash的前端ActionScript框架,支持FlexBuilder。
Razor是個ActionScript組件框架,對常用的Flex組件提供了另一種選擇。
FlightFramework是又一個ActionScript框架,支持MVC及其他設計模式。#p#
Flex與AIR開發工具支持
如果沒有調試、測試、日志以及文檔,軟件開發怎能進行下去。在過去幾年中,Flex/ActionScript社區創建了大量的開發支持工具。
FlexRIATest是個面向Flex的GUI自動化測試工具。它支持Windows以及MaxOSX。
Flexcover是個面向Flex、AIR以及ActionScript3的開源代碼覆蓋率檢測工具。
Alcon是個輕量級的調試工具,支持ActionScript3、Flex及AIR開發。
Fluint(Flexunitandintegration的簡稱)是個面向Flex2/3應用的測試框架,無論應用是通過AdobeFlashPlayer部署在Web瀏覽器中還是通過AdobeAIR部署在桌面上。
Arthropod是個面向Flex和AIR開發的調試工具。憑借Arthropod,開發者可以在運行期輕松調試應用。
DeMonsterDebugger是個面向AdobeFlash、Flex及AIR項目的開源、輕量級,但功能完善的調試器。它完全使用AdobeAIR開發。
ASTUce是個衰退測試框架,其靈感來源于xUnit架構,如JUnit。它支持對ActionScript3的單元測試。
AsUnit是個面向ActionScript3的開源的單元測試框架。AsUnit2.x已經完全集成了FlashIDE。
FlexMonkey是個面向Flex應用的測試框架,它可以對FlexUI功能進行捕獲、重放以及確認。FlexMonkey可以記錄并回放FlexUI的交互并生成ActionScript測試腳本,這些腳本可以輕松集成到持續集成過程中。
Xray是個Flash應用檢測工具,用于在運行期調試應用而不會增加應用負載。
FlexPMD是由Adobe創建的,旨在通過審查AS3/Flex源代碼目錄來改進代碼質量和檢測常見的最差實踐。
NaturalDocs是個文檔生成工具,支持多種語言,包括ActionScript3。#p#
Flex企業級開發
Adobe在企業應用系統開發上投入了大量的人力物力。大多數企業系統都需要服務端開發和集成,Adobe的開源產品BlazeDS及商業產品LivecycleDS在這其中扮演著重要的角色。此外,Flex/ActionScript社區也開發出了各種服務端集成工具以支持Flex企業級FlexRIA開發。
PotomacframeworkforFlex用來開發大規模的Flex應用,它利用了模塊化方法而沒有使用Flex模塊框架。其靈感來源于OSGi,后者則被眾多的應用服務器廠商使用以支持服務端的模塊化功能。
FluorineFx提供了一個Flex/FlashRemoting、FlexDataService以及實時消息功能的.NET框架實現。
FxStruts則是一個開源的程序庫,提供了與Struts中的bean:write相同的功能,但其輸出格式為AMF或是XML。
X2O是面向AdobeFlex應用的基于Web的數據建模平臺。它會生成一個遠程托管框架,這樣開發者只需編寫客戶端即可。
SpringBlazeDSintegration是個Spring組件,用于簡化以AdobeFlex作為前端的基于Spring的FlexRIA開發。
SpringActionScript以前叫做Pranaframework(上面提到過)。
GraniteDataServices是個免費(基于LGPL)的組件,作用與AdobeLiveCycleDataServices一樣。
Red5是個開源的Flash服務器,使用Java編寫。
AmFast是個面向Python的FlashRemoting框架,支持NetConnection與RemoteObjectRPC。
ExadelFlamingo可以將Flex、JavaFX、Swing、J2ME以及AndroidSDK粘合到Seam、Spring及JEE中。
還有面向各種腳本語言的FlashRemoting支持:面向PHP5的PHPObject和SabreAMF、面向JEE的OpenAMF、面向Perl的AMF::Perl以及面向Python的AmFast。
展望未來,FlexRIA開發的下一領域將是移動平臺。一系列事實表明即將發布的AdobeFlash10.1將能夠運行在大量的智能設備上,比如將要發布的GoogleNexusOnephone將安會安裝Flash10.1。一旦Flash移動技術橫空出世,Flex社區將會大舉進軍移動平臺。
【編輯推薦】
- 探秘Flex與JavaScript交互
- 常用FlexBuilder快捷鍵用法指導
- Flex框架Riawave的定制應用
- 技術前沿 Flex2.0 從零開始實現文件上傳
- FlexBuilder開發方法及特點解析