NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

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

关注

评论

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

墨天轮访谈 | IvorySQL王志斌—IvorySQL,一个基于PostgreSQL的兼容Oracle的开源数据库

墨天轮

数据库 oracle postgresql 开源

理论+案例,带你掌握Angular依赖注入模式的应用

华为云开发者联盟

程序员 前端 华为云

力扣每日一练之字符串Day6

京与旧铺

6月月更

盘点四种WiFi加密标准:WEP、WPA、WPA2、WPA3

wljslmz

wifi 6月月更 无线安全 wpa3 wep

SAVE: 软件分析验证和测试平台

华为云开发者联盟

云计算 测试 后端 开发 软件分析

混沌工程,了解一下

华为云开发者联盟

云计算 测试 后端 混沌工程 华为云

数字经济时代文化消费新特征

CECBC

区块链为化解信任危机带来新契机

CECBC

泛型的类型擦除后,fastjson反序列化时如何还原?

码农参上

泛型 底层知识 Java 开发

NLP 论文领读|改善意图识别的语义表示:有监督预训练中的各向同性正则化方法

澜舟孟子开源社区

人工智能 自然语言处理 深度学习 预训练模型

20省市公布元宇宙路线图

CECBC

为什么你的数据图谱分析图上只显示一个值?

清林情报分析师

数据分析 可视化 知识图谱 三元组 情报分析

观测云更新|观测云帮助文档全新上线;新增 Profile 可观测新增 Profile 可观测;新增 Deployment 网络详情及网络分布等

观测云

解读2022年度敏捷教练行业现状报告

华为云开发者联盟

后端 开发 华为云

火线沙龙第26期-多云安全专场

腾源会

如何实现一套容器(C语言版)1

祖维

c 容器 泛型 迭代器

ElasticSearch第二弹之分片原理

阿Q说代码

ES shard replica

如何利用数仓创建时序表

华为云开发者联盟

数据库 后端 华为云 时序表

JDK动态代理为什么必须要基于接口?

码农参上

JAVA开发 动态代理 底层知识

基于 ShardingSphere 的得物数据库中间件平台“彩虹桥”演进之路

SphereEx

数据库 中间件 ShardingSphere 实践

vue快速学习、基础用法

开发微hkkf5566

FastApi+Vue+LayUI实现前后端分离

Python研究所

6月月更

你了解shiro吗?手把手教你集成shiro

阿Q说代码

springboot 鉴权 shiro 身份验证

基于微信小程序的婚纱影楼小程序开发笔记

CC同学

小程序

JDBC 在性能测试中的应用

阿里巴巴云原生

阿里云 云原生 JDBC 压测

零信任安全模型-下一代网络安全架构

领创集团Advance Intelligence Group

架构 网络安全 零信任

2023年广州美博会时间地点详情

Geek_0b38bb

美博会 2023年广州美博会 春季广州美博会 广州春季美博会

深入理解和把握数字经济的基本特征

CECBC

Go语言Redis API基本功能实践

FunTester

中国移动应用出海发展天地宽

WorkPlus

Gartner:如何在中国成功应用多云模式

WorkPlus

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