2004年3月,Macromedia(2005年被Adobe收购)发布了Flex 1.0。从那时起,基于Flex的RIA开发获得了越来越多的动力,RIA也已经成为广泛接受的Web应用开发方式。今年,Adobe将发布Flex 4,随之而来的是Flash Builder 4以及Flash Catalyst,他们都将成为Adobe Flash Platform技术的组成部分。
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双向转换的处理器)。
应用框架
开发软件框架的目的在于实现常见的软件开发模式以提高编程生产率及改善质量。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社区将会大举进军移动平台。
分享到:
相关推荐
**Flex**,作为**RIA(Rich Internet Application)**的一种代表性的开发技术,自诞生以来便以其卓越的网络交互能力和生动的表现效果,引领着企业级应用的发展趋势。与传统Web应用相比,RIA提供更丰富的用户体验,更...
4. **企业级的特征**:Flex 提供了安全的数据传输和强大的数据管理,适合构建大型企业级应用,如数据可视化、实时协作工具等。 5. **消除页面加载**:通过使用数据缓存和异步通信,Flex 应用可以减少对服务器的依赖...
Flex学习课程与企业级应用开发电子书是一套全面的资源,旨在帮助初学者和开发者深入理解和掌握Adobe Flex技术。Flex是一种强大的开发框架,主要用于构建富互联网应用程序(RIA),它允许开发者创建具有高度交互性和...
1. 企业级应用:Flex 3在企业级应用中表现出色,例如数据可视化、报表系统、协作工具等,因为它能够提供丰富的用户体验和高效的后台数据交互。 2. Web应用:Flex 3可用于创建高度交互的Web应用,如在线购物平台、...
Flex与Struts的集成是实现企业级应用的重要一环。Struts是一种Java Web框架,常用于后端业务逻辑处理。通过本书,读者可以学习如何在Flex前端与Struts后端之间建立通信,理解AMF(Action Message Format)协议在两者...
通过学习Flex 4.0 RIA开发详解,开发者可以掌握如何利用这一强大的工具集创建高效、富有吸引力的Web应用,提高用户体验,并实现企业级的复杂功能。Flex 4.0的诸多新特性使得开发者能够更好地利用现代Web技术,打造更...
MyEclipse是一款基于Eclipse平台的Java EE集成开发环境,广泛用于Java后端开发,而Flex Builder则是Adobe公司出品的专门用于开发Flex应用的IDE,主要用于构建富互联网应用程序(RIA)。这篇博客文章可能讨论了如何将...
Flex3企业级Web应用系统设计与实现完整版是关于Adobe Flex 3技术在构建高效、交互性强的企业级Web应用程序方面的深度解析。Flex3是Adobe Flash平台的一个重要组成部分,主要用于开发富互联网应用程序(RIA)。该资源...
Flex常用于企业级应用、数据可视化、电子商务、媒体播放器、游戏等众多领域,因其优秀的用户体验和强大的功能,被许多大型企业和组织采用。 10. Flex的未来 虽然Adobe已宣布不再更新Flex SDK,但社区依然活跃,有...
Flex是用于构建高性能、交互性强的Web应用程序的技术,尤其适用于数据驱动的应用,如数据可视化、商业智能和企业级应用。Flex 3作为该系列的一个重要版本,提供了许多关键改进和新特性,使其在RIA领域独树一帜。 ...
《FLEX企业应用开发实战》是一本专注于使用Adobe Flex技术进行企业级应用程序开发的专业书籍。Flex是Adobe公司推出的一种开放源代码的富互联网应用程序(Rich Internet Application,RIA)框架,它基于ActionScript...
8. ** Cairngorm、BlazeDS和LiveCycle Data Services**:这些是Flex4中常见的架构和中间件,Cairngorm是一种轻量级MVC框架,BlazeDS是服务器端的数据推送技术,LiveCycle Data Services提供了更高级的企业级服务,如...
### RIA Flex and J2EE:深入探究与整合策略 #### 引言 随着Web 2.0时代的到来,富互联网应用(Rich Internet Applications, RIA)成为了提升用户体验的重要手段。Adobe的Flex技术作为构建RIA的热门选择之一,其与...
《FLEX企业应用开发实战》是一本专注于使用Adobe Flex技术进行企业级应用程序开发的专业书籍。Flex是基于ActionScript和MXML的开源框架,用于构建富互联网应用程序(RIA),尤其适用于创建交互性强、用户体验丰富的...
- **企业级特性**:包括安全、数据管理、身份验证等功能,满足大型企业应用的需求。 - **消除页面加载**:通过本地缓存数据,减少服务器通信,提高应用响应速度。 - **标准的架构**:遵循开放标准,如W3C的CSS和...