InfoQ

InfoQ

新闻

我的书签

登录注册 以永久保存书签。

该内容已经被标记书签!

标记书签错误,请重试!

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

作者 Moxie Zhang 译者 郭晓刚 发布于 2008年1月20日

领域
语言 & 开发
主题
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

译者 郭晓刚 是InfoQ中文站架构社区编辑,创建并终结过数家软件小企业,翻译过多本技术书籍。

框架,好用吗? 发表人 Tong James 发表于
Re: 框架,好用吗? 发表人 Guo Xiaogang 发表于
Re: 框架,好用吗? 发表人 Tong James 发表于
Re: 框架,好用吗? 发表人 Guo Xiaogang 发表于
Re: 框架,好用吗? 发表人 Tong James 发表于
FunFX据说也不错,支持TDD的自动化测试框架 发表人 Tong James 发表于
  1. 返回顶部

    框架,好用吗?

    发表人 Tong James

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

  2. 返回顶部

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

    发表人 Tong James

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

  3. 返回顶部

    Re: 框架,好用吗?

    发表人 Guo Xiaogang

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

  4. 返回顶部

    Re: 框架,好用吗?

    发表人 Tong James

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

  5. 返回顶部

    Re: 框架,好用吗?

    发表人 Guo Xiaogang

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

  6. 返回顶部

    Re: 框架,好用吗?

    发表人 Tong James

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

深度内容

大规模视频网站的计费与流量管理

本次分享将会就大规模视频网站的计费与流量管理这个话题,从操作层面细细进行讲解和分析,为系统工程师们揭示平日里我们没有关心的另一些内容。同时也希望本次分享能揭示行业中的一些“潜规则”,让互联网行业的流量与带宽管理更为开放与简洁。
本次演讲视频录制于QCon杭州2011

专访Jeffrey Richter:Windows 8是微软的重中之重

Jeffrey Richter以其多本Windows核心技术的经典著作而闻名,同时,他深入掌握微软的.NET等一系列核心技术,2012年1月,Jeffrey Richter在北京接受了InfoQ中文站的专访,谈到Windows 8和WinRT编程,并就异步编程、Windows编程中的可扩展性、性能和安全性方面给出自己的建议。

应用云平台的可用性——从新浪SAE看云平台设计

云计算平台的可用性,相比传统互联网服务而言,更加复杂和困难,也更具有挑战性。本文借助新浪SAE云平台为读者讲述了云平台可用性的定义、如何打造高可用的平台,以及对云计算的用户提出了建议。

JVM定制改进 @ 淘宝

淘宝高度重视Java平台的健康发展,组建了一个团队专注于Java平台的底层部分的性能、功能与稳定性改进;工作主要基于OpenJDK中的HotSpot VM开展,其中一些通用的功能随后也会逐渐反馈给OpenJDK社区。希望能与使用Java平台开发应用的大家交流经验。
本次演讲视频录制于QCon杭州2011

"伤得起"的云计算应用——对云端应用之架构的思考

2011年4月21日至22日是值得云计算从业者纪念的日子。Amazon的IaaS服务出现故障,导致许多商业网站的服务中断,影响非常严重。作为云计算用户,我们需要思考的是,如何保证即便在云服务不可用的情况,我们的应用架构仍然能够屹立不倒?本文正是站在云计算用户的角度试图探讨这一问题。

让交付的速度跟上思考的速度

12人的技术团队,4组刀片服务器,每月20亿的访问量,每日1次准时部署,99.9%的可用性。这可能吗?当然。想知道如何做的吗?百姓网将与您分享他们在DevOps实践过程中的经验和技巧。
本次演讲视频录制于QCon杭州2011

架构之路——穿行在产品和业务之间

篱笆作为一家起源于社区的电子商务公司,反映到技术层面就是同时要面对产品和业务,以及经营战略的变化调整。如何在产品和业务的夹缝之间完成技术架构的抽象与平衡,寻找更有效的价值定位,这当中有些经验教训和个人感悟愿与众人分享。
本次演讲视频录制于QCon杭州2011

特性注入:成功三部曲

本文将对特性注入以及相关方法做一个扫盲性的介绍。我们会解释这个框架的关键要素,并附上实例来证实它们。为了让文章保持相对较短,我们不会深入到某个工具或方法中,而是会给出一些参考资料,以便大家做进一步的研究。