最近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开发方法及特点解析