[转]选择一个Flex框架
????? 框架满天飞的今天,选择框架似乎是每一个开发人员必须的经历,不得不找到目前有哪些我们需要的框架,并进行横、纵向比较,做出取舍!
????? 对于MVC类型的框架,我们在采用传统web项目开发技术时,大多倾向于Struts2(webwork)和Spring MVC,而对于Flex的MVC框架,可以说是众说纷纭,选择不一。与此同时,真正理解MVC框架的朋友,可能更愿意为Flex构造自己的MVC模式来保证项目的MVC清晰结构,原因在于现行框架的局限性以及Flex前后端通信的便利性吧!
????? 为了快捷而有全面了解一下现有的Flex MVC框架,转载了博文选择一个Flex框架!为便于阅读,其内容转载如下(并做了补充):
==============================================================
本文提供了当前最流行的Flex框架,你可以根据了解来选择最适合你的团队或者项目的需求的框架。本文覆盖了 Cairngorm、Mate、PureMVC以及Swiz 框架。我特意选择了这些框架是因为它们已经被Flex show 播客提及并且或者已经被类似360|Flex 的会议所提出。
Cairngorm是最早最为成熟的Flex 框架。它实际上是一个微架构——它提供了一系列已经被证明可以很好的互相协作的设计模式的集合。Cairngorm采用累来自Java开发世界的笨重并且把焦点集中到了三个关键区域:处理用户行为,包装服务端交互与业务逻辑,并且管理客户端状态以及在用户界面(UI)上体现客户端状态。
在Cairngorm构建一个项目包含了拆散你的应用到若干个包中并且扩展Cairngorm的类。如下是一个Cairngorm 项目 主要包含的部分和类。
虽然Flex也可以使用PureMVC框架,但是它实际上并不是作为一个Flex框架而设计的。PureMVC的创建者希望PureMVC框架是与语言无关的。其实,如果你访问他的网站,你会发现在多种语言上的实现以及代码范例。《其实是一个ActionScript 3框架,不像Cairngorm,它并不是针对FLASH,FLEX或者其它ADOBE AS3.0类。》
PureMVC 以模型—视图—控制器模式(MVC 模式)为中心,以把项目切分到模型,视图以及控制器层为目标。PureMVC中通过是Model,View以及Controller,这三个单件类体现了这些层——而为了帮着这些层之间通讯使用了第四个单件类Fa?ade ,同时他也作为中央存贮器的角色存在。
和Cairngorm很像,创建一个使用PureMVC框架的项目,需要分割你的项目到若干包中,然后通过继承框架的类来显现你的定制类。PureMVC 还加入了作为程序主入口点的Fa?ade类。
Model-Glue:Flex由是Coldfusion框架一个后分支(另一个分支是Model- Glue:Coldfusion),Model-Glue是一种简单的MVC的FLEX框架,Model-Glue拥有COLDFUSION接口。秉承Model-Glue:Coldfusion框架一贯的特性,Model-Glue:Flex是一个轻量级的Flex框架,其设计思想与 Model-Glue:Coldfusion一致,都是基于事件驱动,类似XML的事件处理配置的一个MVC框架,熟悉Model- Glue:Coldfusion的朋友完全可以很平滑无障碍的使用Model-Glue:Flex框架。其核心的设计很简单易懂:UI组件触发事件,控制器监听事件处理事件。 《Joe Rinehart把他最初创作的Model-Glue for ColdFusion移植到了Flex。Model-Glue: Flex受到了好评。它的设计意图是成为一个比Cairngorm和PureMVC更轻量的框架,因此更便于快速原型和简单的Flex应用开发》
?
Flex IOC?的第三方比如:ProfileViewer, Spring ActionScript, Parsley, Flicc, Swiz等等
??
?
?
??
Spring ActionScript 是 ActionScript 编程语言的一个 IoC 、MVC 编程框架,主要用于 Flash、Flex 和 AIR 平台的应用开发。集成了Cairngorm和PureMVC框架。
?
?
项目地址:http://www.springactionscript.org/? 入门简介:http://www.riameeting.com/node/448
?
Foundry?(download)
ServeBox Foundry ( sbasfoundry )是一个ActionScript 3 / Java框架针对Flex 2应用开发者.
Guasax Flex Framework?(download)
Guasax是一个易用的程序框架,为保证新老FLEX应用的扩展.
ARP?(download)
ARP (Ariaware RIA Platform)是一个基于ActionScript的框架,它是一个Open Source Flash?项目.
Flest Framework?(download)
Flest 是一个ActionScript3 / Flex框架.
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?