InfoQ

新闻

开源开发框架展现出Flex平台的发展势头

作者 Moxie Zhang 译者 郭晓刚 发布于 2008年1月20日 下午9时12分

社区
Java
主题
RIA,
富客户端/桌面
标签
Flex

Adobe Flex及相关技术正成为RIA领域的主流。虽然Flex社区的规模还远比不上Java或Microsoft平台,但它正在Flex RIA开发者们的栽培下稳健地成长。许多开源开发框架也因此被创造出来:

Cairngorm下载

Cairngorm是最老也最成熟的Flex框架。它现在由Adobe拥有并开源,而且被Adobe的RIA顾问服务团队大量使用。创造出Cairngorm 的Adobe Consulting团队是把设计模式框架运用到RIA开发的最早的倡导者。Cairngorm中可以看到许多在JEE世界中广泛使用的MVC相关设计模式,即使它只是一个仅用于RIA用户界面开发的微型架构框架。

Cairngorm被看作是企业RIA开发框架。它的分层MVC实现有助于开发出具有复杂的业务逻辑的可伸缩的RIA应用。在异步通信、事件驱动、无线程的Flex平台上,Cairngorm为构建严肃的商业应用程序提供了快速而可靠的方法。

Cairngorm的本质也决定了它可能不适用于小型的快速原型。Adobe说:

Cairngorm微架构的意图是为企业RIA开发者提供一个框架。如果你在编写一个非常简单的应用(比如程序原型),或者只有一个视图的程序,那么你应该考虑“一体化”的方案,就不必挣扎于Cairngorm所倡导的模型、视图和控制分离了。Cairngorm架构的益处在开发复杂的RIA应用的时候才能体现出来,比如有多个用例和视图,由一整个团队负责开发,以及团队中存在设计师、创意型开发者、技术型开发者等受过不同训练的成员的情形。

PureMVC下载

它实际上是一个ActionScript 3框架。与Cairngorm不同,它完全不依赖任何Flash、Flex或其他Adobe的AS3类。因此它可用于开发任何基于Flash或者ActionScript 3的应用程序。

从PureMVC的名字中就可以看出,它是根据MVC设计模式来实现的,里面包含了三层,即模型、视图和控制器。这个框架的文档很全面,它的网站上也有很丰富的信息去帮助开发者上手。

由于PureMVC是纯粹用ActionScript实现的,而ActionScript是与JavaScript基于相同标准(ECMAScript)的,强类型的,完全面向对象的语言,因此PureMVC可以很容易移植到其他OO语言。而事实上也确实如此:

我高兴地宣布把PureMVC移植到4种语言的工作正在进行之中:AS2、C#、Java和ColdFusion,现已接近向公众公开的阶段。这样PureMVC的适用平台就扩大到了FlashLite、.NET、Windows Mobile、Silverlight、J2ME、SE、EE以及……ColdFusion:)

这些移植版以及许多演示程序和工具都是由一群专门投身于此项工作的贡献者们完成的,他们遍及全世界。还有许多翻译人员加入进来帮忙把PureMVC的文档翻译成其他语言,包括法语、德语、俄语、汉语和日语等等。他们不知疲倦的工作把一个简单的个人项目变成了全球化的开源成果。很快,你就会认识他们,并爱上他们高质量的工作。要是遇到了这群人中的某一位,请他喝一杯吧!

考虑到ActionScript(ECMAScript)连同Adobe所用的Flash引擎将被内建于下一代的Firefox,PureMVC将会成为RIA开发者们开发跨平台富应用的一件非常趁手的工具。

Model-Glue: Flex((下载)

Model-Glue:Flex也是一个简单的MVC Flex框架。Joe Rinehart把他最初创作的Model-Glue for ColdFusion移植到了Flex。Model-Glue: Flex受到了好评。它的设计意图是成为一个比Cairngorm和PureMVC更轻量的框架,因此更便于快速原型和简单的Flex应用开发。

Foundry下载

ServeBox Foundry(sbasfoundry)是为Flex 2应用程序开发而设计的ActionScript 3 / Java框架。它根据几个设计模式而设计,还包括了一些工具,用来解决Flex 2开发中一再重现的烦人问题:Model-View同步、屏幕浏览、访问控制列表(开发中)、本地化以及标签文字外部化等等。

Foundry是为中大型规模的企业RIA系统开发而设计和实现的。它包含了Java公用模块,用来将Foundry Flex插件与服务器端的进程紧密集成。

Guasax Flex Framework下载

Guasax是一个易于使用的编程框架,可实现条理清晰的,可伸缩的Flex应用程序。

Guasax框架在运行时依照MVC模式来处理程序的动作。Guasax的一个独特之处是它用一个XML文件来配置业务逻辑中的动作,在某些方面类似于Java Struts框架。可通过开发Guasax组件来扩展Guasax。

ARP下载

Aral Balkan当初把ARP(Ariaware RIA Platform)作为一个ActionScript框架来开发,现在它已成为Open Source Flash项目群的一员。ARP现在支持使用ActionScript 2和ActionScript 3来开发Flash或Flex的RIA应用。

ARP可能是Flash社区中最老的框架。ARP的第一版是早在2000年用Flash 5编写的,其中一部分曾随开源的FC-Lib库发布。随后它发展到Flash MX,其中一部分又进入了开源的Moose库。由于它是从Flash框架进化而来,ARP可以在Flex和AIR中使用。ARP的代码直接访问Flash类,因此有报告说它比其他Flex框架性能更好。

Flest Framework下载

Flest是构建企业级RIA的ActionScript3 / Flex应用程序框架。它运用了Controller、Factory、Command等设计模式。它的设计理念是高效、简单和实用。Flest框架是一个轻量级且易于使用的工具集合,不但帮助搭建开发的环境,还给开发者最大的自由去实现自己的决定。

除了上面列出的框架,还有一些使用不那么广泛的。你可以看一下EasyMVCAdobe FASTJoeberkovitz的框架

除了用来开发RIA用户界面的框架,RIA开发者还有其他帮手,比如FlexUnit(ActionScript 3的单元测试框架),FlexLib(开源Flex 2组件库),AS3CoreLib(提供了若干基本工具和出色JSON支持的ActionScript 3.0类库),以及Granite DS(Adobe Data Services for J2EE应用服务器的免费、开源的替代品,支持EJB3/Spring/Pojo服务)。

InfoQ将继续报道Flex开源开发社区的新进展。

查看英文原文:Open Source Flex Development Frameworks Show that Platform is Gaining Momentum
框架,好用吗? 发表人 James Tong 发表于 2008年1月21日 上午2时7分
Re: 框架,好用吗? 发表人 Xiaogang Guo 发表于 2008年1月21日 上午2时38分
Re: 框架,好用吗? 发表人 James Tong 发表于 2008年1月21日 上午3时0分
Re: 框架,好用吗? 发表人 Xiaogang Guo 发表于 2008年1月21日 上午4时19分
Re: 框架,好用吗? 发表人 James Tong 发表于 2008年1月21日 上午11时4分
FunFX据说也不错,支持TDD的自动化测试框架 发表人 James Tong 发表于 2008年1月21日 上午2时27分
  1. 返回顶部

    框架,好用吗?

    2008年1月21日 上午2时7分 发表人 James Tong

    本来编译速度就慢,不知道加上框架会如何。

  2. 返回顶部

    FunFX据说也不错,支持TDD的自动化测试框架

    2008年1月21日 上午2时27分 发表人 James Tong

    可惜昨天晚上再次尝试使用FunFX失败,Grantie DS这个听起来很不错。

  3. 返回顶部

    Re: 框架,好用吗?

    2008年1月21日 上午2时38分 发表人 Xiaogang Guo

    Flex 3编译速度提升不少。不见得要用框架啦,不过用一些模式还是必要的,不然事件处理代码都混在一起很难维护。

  4. 返回顶部

    Re: 框架,好用吗?

    2008年1月21日 上午3时0分 发表人 James Tong

    也不多快,1万多行代码的项目编译起来都能搞成二十多秒。每次Ctrl + s之后痛苦死了。

  5. 返回顶部

    Re: 框架,好用吗?

    2008年1月21日 上午4时19分 发表人 Xiaogang Guo

    我都把自动编译关掉,项目大的话还可以分成几个Modules。

  6. 返回顶部

    Re: 框架,好用吗?

    2008年1月21日 上午11时4分 发表人 James Tong

    Module确实是很好的选择,正准备试试,只是担心在访问全局属性的时候会不会出问题。

深度内容

和Google互补的搜索引擎Wolfram|Alpha

Wolfram|Alpha与Google究竟是什么关系,Wolfram|Alpha自己是如何定位的?Wolfram|Alaph在多大程度上是语义网搜索呢?InfoQ中文站就等等这些问题采访了Wolfram研究公司中国区商务经理王翔。

SOA契约成熟度模型

本文说明了所推荐的契约版本管理设计策略是如何与SOA成熟度模型发生联系的。文章目的是为实现版本管理和可组合性提供一个路线图。

数据服务简介

Vijay Narayanan在这篇文章中对数据服务的几个方面进行了介绍,它们都是SOA实践者和数据架构师感兴趣的内容。本文对数据服务的几个方面进行了介绍,包括需求定义,基本原理和好处、范围、开发以及消费模式。

分块云计算

在本文中,Jimmy Nilsson描述了一种他在过去数年间观察到的一种正在缓慢成长的架构风格,他把这种风格称为“分块云计算”。

豆瓣网技术架构变迁

罗马不是一天建成的,豆瓣的技术架构也是随着用户规模的增长一直在持续变化中。在本次演讲中,豆瓣的首席架构师洪强宁将与大家一起分享从上线时的单台服务器架构开始一直到现在的豆瓣架构变迁历程。

融合思想:深入探索S#arp架构

Billy McCafferty展示了S#arp架构,它在ASP.NET MVC框架的基础上,荟萃了当今的最佳实践,应用在ASP.NET Web应用程序的架构设计中。

王雷谈开源以及新兴市场计划

中国作为新兴市场中的新兴市场,是Sun在美国之外实施SSE(SUN Startup Essentials)项目重点关注的地区。在QCon Beijing 2009期间,InfoQ中文站有幸对此项目的负责人王雷先生进行了采访,探讨了关于开源、新兴市场、SSE等话题。

使用HTML5构建下一代的Web Form

HTML5 是由 WHATWG发起的,最开始的名称叫做Web Application 1.0,而后这个标准吸纳了Web Forms 2.0的标准,并一同被W3C组织所采用,合并成为下一代的HTML5标准。