在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

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

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

关注

评论

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

追踪Jira中项目成本与工时,更符合国人使用习惯——TimeWise工时管理

龙智—DevSecOps解决方案

DevOps DevSecOps Atlassian

SD-WAN网络搭建技术:企业降本增效的首选

Ogcloud

SD-WAN 企业网络 SD-WAN组网 SD-WAN服务商 SDWAN

陆海×微帧,在海洋卫星传输环境下的极限视频压缩

微帧Visionular

视频编码 视频压缩

喜讯 | 思码逸Devinsight 入选中国信通院《高质量数字化转型产品及服务全景图》

思码逸研发效能

Udemy 上最受欢迎的免费编程课程

秃头小帅oi

php 学习 React 课程 java

前端:Vue2.0和Vue3.0的一些入门对比

秃头小帅oi

前端 低代码 js Vue 3 vue2

作为程序员,沟通能力是否重要?

小齐写代码

即时通讯技术文集(第34期):IM群聊技术合集(Part1) [共15篇]

JackJiang

网络编程 即时通讯 IM

Supermicro 通过新基础设施解决方案,加速 5G 和电信云工作负载性能

财见

PTS 3.0:开启智能化的压测瓶颈分析

阿里巴巴云原生

阿里云 云原生 压测

聊聊Java 类属性与类方法的应用

伤感汤姆布利柏

Java 前端

教你如何用Keepalived和HAproxy配置高可用 Kubernetes 集群

华为云开发者联盟

开发 华为云 华为云开发者联盟

蜗牛游戏宣布利用AI技术提升其开发流程

财见

亚马逊云科技为派拓网络打造数字安全平台产品组合

财见

破防了,谁懂啊家人们:记一次mysql问题排查

阿里技术

MySQL 索引 问题排查 表结构

舞台LED显示屏与传统LED显示屏的区别

Dylan

LED显示屏 全彩LED显示屏 led显示屏厂家 户内led显示屏 舞台表演

云桌面跟远程桌面有什么区别?

青椒云云电脑

云桌面 云桌面方案 云桌面系统

手机厂商的开年大考:卷AI,还是卷MR?

Alter

MR 大模型 AI手机

云桌面哪家好用?

青椒云云电脑

云桌面 云桌面厂家 云桌面解决方案

蒋安祥:巴拿马奖项评选指南与规程赢得企业界广泛认可

极客天地

Web3.0区块链技术全流程方案:DApp项目开发、推广以及运营

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

EMQX Enterprise 5.5 发布:新增 Elasticsearch 数据集成

EMQ映云科技

mqtt mqtt broker

KaiwuDB 拿下 “物联之星” 双项殊荣

KaiwuDB

数据库 物联网

区块链游戏解说:什么是 Arcade Champion

Footprint Analytics

开班在即 | 测试开发名企定向培养训练营,手把手带你提升核心竞争力!

测吧(北京)科技有限公司

测试

聚道云助力时尚巨头打通数据孤岛,实现全渠道管理升级!

聚道云软件连接器

案例分享

客户案例 | 思码逸DevInsight帮助企业提炼关键指标,建立研发效能体系

思码逸研发效能

超越传统:人工智能赋能的自动化测试新前景

测吧(北京)科技有限公司

测试

云桌面系统厂家-青椒云

青椒云云电脑

云桌面 云桌面厂家 云桌面方案 云桌面系统

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