写点什么

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:226980
用户头像

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

关注

评论

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

HarmonyOS Next 记事本应用开发实践

知识浅谈

鸿蒙 开发工具 HarmonyOS HarmonyOS NEXT 实践分享

什么是 DORA?为什么金融机构必须遵守DORA法案?

运维有小邓

日志管理 日志审计系统

你的产品功能真的必要吗?

Feedalyze

效率工具 产品开发 产品迭代 用户反馈 用户需求

三项市场第一,曙光存储稳居分布式存储领导者象限

科技热闻

智元主办|机器人赛事AgiBot World Challenge@IROS2025等你来战!

AgiBot World

机器人 机器人开发 具身智能 智元机器人

"开机即战"时代来临!开鸿Bot系列创新开源鸿蒙开发新范式

科技热闻

Web3.0游戏(全链游戏)正越来越快

PowerVerse

区块链+ Web3.0 云游戏

Burp Suite Professional 2025.5 for macOS x64 & ARM64 - 领先的 Web 渗透测试软件

sysin

burp

HarmonyOS Next音乐播放器组件开发实践

知识浅谈

鸿蒙 开发工具 HarmonyOS HarmonyOS NEXT 实践分享

Bonree ONE 2025春季版全球发布 | 云原生适配+LLM大模型接入成核心亮点!

博睿数据

云原生 博睿数据 LLM模型

HyperMesh模型导入与几何清理

智造软件

仿真 CAE cad Hypermesh hyperworks

开发实用小技巧:元组-轻量级数据容器的艺术

电子尖叫食人鱼

开发

Nexpose 8.7.0 for Linux & Windows - 漏洞扫描

sysin

Nexpose

HarmonyOS工具安装教程

知识浅谈

鸿蒙 开发工具 HarmonyOS HarmonyOS NEXT

HarmonyOS中多选框(Checkbox)及全选反选功能实现

知识浅谈

鸿蒙 开发工具 HarmonyOS HarmonyOS NEXT 实践分享

让每通来电都有价值,百度智能云客悦智能外呼的三原色法则

科技热闻

百度智能云获IDC中国AI大模型一体机首推品牌

科技热闻

供应链的"智能大脑":京东供应链智能规划算法详解

京东零售技术

基于HarmonyOS Next的闹钟应用开发实践

知识浅谈

鸿蒙 开发工具 HarmonyOS HarmonyOS NEXT 实践分享

谷歌地图代理 | 使用HTML和矢量模式API更轻松地创建Web地图

Cloud Ace 云一

“最近我给有代码洁癖的同事墙裂安利了通义灵码”

阿里云云效

通义灵码

浅谈环境检查功能框架搭建

inBuilder低代码平台

TiDB 中新 Hash Join 的设计与性能优化

TiDB 社区干货传送门

从开发者角度看数据库架构进化史:JDBC - 中间件 - TiDB

TiDB 社区干货传送门

开发语言 应用适配 数据库连接 8.x 实践

Uniapp开发鸿蒙购物应用教程之商品列表

幽蓝计划

本地部署Dify AI应用开发平台,搭配贝锐花生壳一键安全远程访问

贝锐

AI 内网穿透 dify

卷积和池化到底在做什么?

不在线第一只蜗牛

深度学习

PD 分离推理的加速大招,百度智能云网络基础设施和通信组件的优化实践

Baidu AICLOUD

MoE DeepSeek Alltoall HPN

“大模型”技术专栏 | 和鲸CTO蒋仕龙:聊聊“氛围编程(Vibe Coding)”

ModelWhale

大模型 氛围编程

NocoBase 本周更新汇总:优化及缺陷修复

NocoBase

开源 低代码 零代码 无代码 版本更新

做好流程管理,打通企业高效阀门!

积木链小链

数字化转型 智能制造 中小企业

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