写点什么

Flex RIA 生态圈现状分析

  • 2010-01-13
  • 本文字数:2762 字

    阅读完需:约 9 分钟

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 中。

应用框架

开发软件框架的目的在于实现常见的软件开发模式以提高编程生产率及改善质量。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 领域的最新进展。

查看英文原文: The State of Flex RIA Development Ecosystem

2010-01-13 05:226990
用户头像

发布了 88 篇内容, 共 272.6 次阅读, 收获喜欢 9 次。

关注

评论

发布
暂无评论
发现更多内容

Qt|控件QPushButton讲解

中国好公民st

qt 按钮 9月月更

算法基础(三)| 二分图解及代码模板

timerring

算法 二分查找 9月月更

最新MLPerf基准测试:基于阿里云GPU云服务器的AIACC在图像识别封闭式场景下夺冠

阿里云弹性计算

图像识别 GPU实例 AIACC

校招 | StarRocks首次Open Day报名ING!

StarRocks

数据库

Github上标星103K的Spring Security实战手册,直接霸榜

程序知音

Java spring 程序员 spring security 后端技术

以Vue为代表的提升小程序开发效率框架及工具

Geek_99967b

小程序

RabbitMQ怎么保证消息不被重复消费以及消息的可靠性

知识浅谈

RabbitMQ 9月月更

云原生数字化转型与金融信创建设,鱼和熊掌可兼得

BoCloud博云

云计算 云原生 信创

react面试如何回答才能让面试官满意

beifeng1996

React

“密评”,听说过没

华为云开发者联盟

云计算 网络安全 开发 企业号九月金秋榜

如何创建 Angular library 并在生产环境中消费

汪子熙

JavaScript typescript angular library 9月月更

阿里云大数据助力知衣科技打造AI服装行业核心竞争力

阿里云大数据AI技术

人工智能 大数据 模型训练 客户案例

VS Code摸鱼神器,让你快速开发AI模型

华为云开发者联盟

人工智能 企业号九月金秋榜

日均数亿推送稳定性监控实践

得物技术

Java 设计模式 重构 SLA 企业号九月金秋榜

百度交易中台之资产系统架构浅析

百度Geek说

数据库 架构 资产管理

MySQL DDL执行方式-Online DDL介绍

京东科技开发者

MySQL 数据库 ddl DML Online DDL

英伟达NVIDIA为何可以在高性能计算GPU中处于不败地位?

GPU算力

慢查询 MySQL 定位优化技巧,从10s优化到300ms

程序知音

Java MySQL 数据库 后端技术 MySQL 数据库

分布式系统中如何实现临界资源的互斥访问

华为云开发者联盟

云计算 后端 开发 企业号九月金秋榜

异步处理 —— RxJS Observable

掘金安东尼

前端 9月月更

CISO 需考虑的五项 Kubernetes 安全措施

SEAL安全

Kubernetes 软件供应链安全

本地服务调用K8S环境中的SpringCloud微服务实战

程序员欣宸

Kubernetes 9月月更

Pipy 同一 IP 多个 SSL 域名

Flomesh

Service Mesh 服务网格

MySQL DDL执行方式-Online DDL介绍

京东科技开发者

Java MySQL 数据 ddl DML

我的C/C++技术成长之路

Fire_Shield

程序人生 C/C++ 9月月更

羊了个羊闯关游戏开发(链改代币分红)

开发微hkkf5566

带你认识全新的华为云IoT路网数字化服务

华为云开发者联盟

云计算 后端 物联网 交通 企业号九月金秋榜

SQL就业市场最吃香!解密为什么SQL历经半个世纪仍经久不衰?

雨果

sql

写给自己的react面试题总结

beifeng1996

前端 React

Flex RIA生态圈现状分析_Java_Moxie Zhang_InfoQ精选文章