`
yuanye218
  • 浏览: 25192 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Flex RIA生态圈现状分析

    博客分类:
  • Flex
阅读更多
http://www.infoq.com/cn/news/2010/01/state-of-flex-dev-tools

2004年3月,Macromedia(2005年被Adobe收购)发布了Flex 1.0。从那时起,基于Flex的RIA开发获得了越来越多的动力,RIA也已经成为广泛接受的Web应用开发方式。今年,Adobe将发布Flex 4,随之而来的是Flash Builder 4以及Flash Catalyst,他们都将成为Adobe Flash Platform技术的组成部分。最近InfoQ回顾了当前的Flex RIA生态圈以明晰Adobe Flex的现状。

Flex开发环境

Adobe Flex Builder仍然是使用最为广泛的商业Flex IDE。它构建在开源的Eclipse IDE平台之上。在Flex 4发布后,Flex Builder即将更名为Flash Builder。除此以外,Adobe Flash Catalyst目前还处在beta版,这是一款设计工具,旨在通过集成设计与编程以将Flash设计人员与Flex开发人员联系起来。

除了Adobe的工具外,Flex开发也已经深入到了现有的各种IDE中。

    * IntelliJ IDEA,这是一款大获成功的Java IDE,它已经从v7开始支持Flex开发了。最新的IntelliJ IDEA 9提供了更加全面的特性以支持Flex。
    * Amethyst是一款构建于Microsoft Visual Studio之上的Flex IDE。它向微软平台的开发者们提供了熟悉的环境进行Flex开发。
    * Ensemble Tofino for Visual Studio同样是一款面向Windows开发者的Flex开发工具。
    * FlashDevelop是一个开源的ActionScript 2/3及Web开发环境。它集成了Adobe Flash IDE、Adobe Flex SDK、MTASC(一个开源的Flash)、haXe(一门开源的编程语言,可以被编译成swf)以及swfmill(一个支持XML到swf双向转换的处理器)。

应用框架

开发软件框架的目的在于实现常见的软件开发模式以提高编程生产率及改善质量。InfoQ注意到2008年推出的一些Flex/ActionScript框架对于Flex使用率的提升功不可没。他们是Cairngorm、PureMVC、Model-Glue:Flex、Foundry、Guasax Flex Framework、ARP、Flest Framework、EasyMVC以及Adobe FAST。从那以后涌现出了越来越多的框架,这些框架丰富了Flex开发生态圈:

    * Ruboss这个Flex框架集成了Ruby on Rails和Merb。它还有一个RESTful接口以与Adobe AIR的嵌入式SQLite数据库进行通信。Ruboss框架与Rails和Merb应用的关系就好像是Adobe LiveCycle Data Services ES与J2EE应用的关系一样。
    * Mate Flex框架发布于2008年,其目的是简化事件驱动的Flex应用开发。
    * Swiz是个面向Flex的IoC框架。它并没有太多的强制要求,比如目录结构或是样板代码等,这一点与其他框架如JEE大不相同。
    * Prana是又一个面向ActionScript的IoC框架。它基于Spring框架的XML方式进行开发。
    * JumpShip是个ActionScript MVC框架,包含了标准的数据模型以进行自动化的数据分类、枚举以及搜索。它反对在框架中使用单例模式,而单例模式在现代的软件框架中得到了广泛的应用。
    * GAIA是个面向Adobe Flash的前端ActionScript框架,支持Flex Builder。
    * Razor是个ActionScript组件框架,对常用的Flex组件提供了另一种选择。
    * Flight Framework是又一个ActionScript框架,支持MVC及其他设计模式。

Flex与AIR开发工具支持

如果没有调试、测试、日志以及文档,软件开发怎能进行下去。在过去几年中,Flex/ActionScript社区创建了大量的开发支持工具。

    * RIATest是个面向Flex的GUI自动化测试工具。它支持Windows以及Max OS X。
    * Flexcover是个面向Flex、AIR以及ActionScript 3的开源代码覆盖率检测工具。
    * Alcon是个轻量级的调试工具,支持ActionScript3、Flex及AIR开发。
    * Fluint(Flex unit and integration的简称)是个面向Flex 2/3应用的测试框架,无论应用是通过Adobe Flash Player部署在Web浏览器中还是通过Adobe AIR部署在桌面上。
    * Arthropod是个面向Flex和AIR开发的调试工具。凭借Arthropod,开发者可以在运行期轻松调试应用。
    * De MonsterDebugger是个面向Adobe Flash、Flex及AIR项目的开源、轻量级,但功能完善的调试器。它完全使用Adobe AIR开发。
    * ASTUce是个衰退测试框架,其灵感来源于xUnit架构,如JUnit。它支持对ActionScript 3的单元测试。
    * AsUnit是个面向ActionScript  3的开源的单元测试框架。AsUnit 2.x已经完全集成了Flash IDE。
    * FlexMonkey是个面向Flex应用的测试框架,它可以对Flex UI功能进行捕获、重放以及确认。FlexMonkey可以记录并回放Flex UI的交互并生成ActionScript测试脚本,这些脚本可以轻松集成到持续集成过程中。
    * Xray是个Flash应用检测工具,用于在运行期调试应用而不会增加应用负载。
    * FlexPMD是由Adobe创建的,旨在通过审查AS3/Flex源代码目录来改进代码质量和检测常见的最差实践。
    * Natural Docs是个文档生成工具,支持多种语言,包括ActionScript 3。

Flex企业级开发

Adobe在企业应用系统开发上投入了大量的人力物力。大多数企业系统都需要服务端开发和集成,Adobe的开源产品BlazeDS及商业产品 Livecycle DS在这其中扮演着重要的角色。此外,Flex/ActionScript社区也开发出了各种服务端集成工具以支持Flex企业级RIA开发。

    * Potomac framework for Flex用来开发大规模的Flex应用,它利用了模块化方法而没有使用Flex模块框架。其灵感来源于OSGi,后者则被众多的应用服务器厂商使用以支持服务端的模块化功能。
    * FluorineFx提供了一个Flex/Flash Remoting、Flex Data Service以及实时消息功能的.NET框架实现。
    * FxStruts则是一个开源的程序库,提供了与Struts中的bean:write相同的功能,但其输出格式为AMF或是XML。
    * X2O是面向Adobe Flex应用的基于Web的数据建模平台。它会生成一个远程托管框架,这样开发者只需编写客户端即可。
    * Spring BlazeDS integration是个Spring组件,用于简化以Adobe Flex作为前端的基于Spring的RIA开发。
    * Spring ActionScript以前叫做Prana framework(上面提到过)。
    * Granite Data Services是个免费(基于LGPL)的组件,作用与Adobe LiveCycle Data Services一样。
    * Red5是个开源的Flash服务器,使用Java编写。
    * AmFast是个面向Python的Flash Remoting框架,支持NetConnection与RemoteObject RPC。
    * Exadel Flamingo可以将Flex、JavaFX、Swing、J2ME以及Android SDK粘合到Seam、Spring及JEE中。
    * 还有面向各种脚本语言的Flash Remoting支持:面向PHP5的PHPObject和SabreAMF、面向JEE的OpenAMF、面向Perl的AMF::Perl以及面向Python的AmFast。

展望未来,Flex RIA开发的下一领域将是移动平台。一系列事实表明即将发布的Adobe Flash 10.1将能够运行在大量的智能设备上,比如将要发布的Google Nexus One phone将安会安装Flash 10.1。一旦Flash移动技术横空出世,Flex社区将会大举进军移动平台。

InfoQ将会持续关注并报道Flex RIA领域的最新进展。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics