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