1.现有成熟Flex框架
   Cairngorm (Adobe Open Source) - MVC framework
   PureMVC (Open Source) - MVC framework
   Mate (Open Source) - tag-based, event-driven
   Swiz (Open Source) - Metadata-based Dependency Injection
   Spring ActionScript (Open Source) – IOC Framework
   parsley(ipen Source) - IOC 框架,元标签

2.Cairngorm
    http://opensource.adobe.com/wiki/display/cairngorm/
优点:

 

* 开发简单,易于测试
    * 保持表现层和数据模型尽可能的简单 
    * 分离状态处理, 表现, 动作, 服务端通信, 使得代码简单清晰
    * 有利于平行开发

缺点:
    * 需要写大量的类应该是Cairngorm最多的负面评论了。在Cairngorm中,每一个event对应一个command;因此,需要对程序触发的每 一个事件来写一个command类。而且,还要为command写一些其他的类,例如delegates。即使是一个中型的应用也会导致大量的类产生 
    * Cairngorm实现了自己的一套事件处理的方法。这增加了Flex内置事件模型的复杂度,而且它还有限制。由于每个事件都有自己的的command, 事件的响应者被限制成1个。加之Cairngorm的事件不具冒泡特性,如果要发送数据到容器的其它层次则需要自己来实现
    * Cairngorm依赖全局的单例,这让模块和单元测试变得困难。尽管可以打破单例中的模型简化测试,但是会增加额外的过程
    * Service Locator和Delegates比较臃肿
    * 没有针对Views的解决方案

-----------------------------------------------------------------------

3.PureMVC
    http://puremvc.org/
优点:

* PureMVC一个稳定的框架并且拥有一个庞大的活跃社区来支持它。因为它为应用需要如何被创建以及开发人员之间的标准化编码提供了一个意义明确的结构,所以它也非常适合团队开发。
    * 解耦后,可分为Façade、Command、Mediator(components)、Proxy(Value objec)四大部分,各部分耦合度低

缺点:
    * PuremvC 是一个相当复杂的框架,相对更难快速学会。除非你的团队非常熟悉它,培训新的雇员会提高生产时间。 
    * PureMVC对于事件处理拥有它自己的方法,并且它会使标准的Flex事件模型更难运作
    * PureMVC框架需要创建很多类,这些创建工作会增加生产时间和项目的大小

------------------------------------------------------------

4.Mate
    http://mate.asfusion.com/

基于Mate创建的Flex项目结构:

* 必须拥有一个或多个事件
    * 必须有一个MXML文件称为event map
    * event map mxml文件定义想侦听的事件和如何响应该事件
    * 可以拥有多个event map文件
    * 当把需要的数据提供给类或者注入类时,对象被构造。对象不需要获取数据,而是把需要的数据传给对象

优点:
    * 采用依赖注入方式实现了视图类和业务处理分离 
    * 使用Flex事件机制派发和接收事件
    * 文档和示例众多

缺点:
    * EventMap都是通过XML实现的。XML编程很快就会令你身处困境  
    * 不能使用AS3编译时的类型检查功能
    * 不规范团队开发应用的方式,需要团队自行定义

好的的博客与网站:
    1.wolen博客,分析了mate的框架运行原理
-------------------------------------------------------------

5.Swiz
    http://code.google.com/p/swizframework

优点:
    * 易于使用
    * 不强迫改变项目文件结构
    * 基于 metadata 的 IoC 和 DI 方式
    * 最大程度使用 Flex 内置事件处理机制

缺点:
    * 同 Mate 类似,也不定义项目结构,需要开发团队自行定义
    * Swiz1.0开始支持module开发,但目前没有任何文档,swiz1.0目前是beta版

文章:
    1.体验Flex:Swiz框架深度解析,http://www.riameeting.com/node/188
---------------------------------------------

6.Spring ActionScript
    http://www.pranaframework.org/

优点:
    * 基于Java Spring框架设计,兼容 Cairngorm和PureMVC
    * 特别有远程服务和消息方法定制,无需改动 services-config.xml 或者 messaging-config.xml
    * 特别专注于BlazeDS和remoting messaging交互逻辑
    * 易于测试
    * 支持文档齐全

缺点:

* 应用程序加载时间变长
    * 无法无法更轻量的处理Logging,开发团队应该在Spring AS之外实现logging

参考文献
1.FLEX开发框架汇总.http://hi.baidu.com/%BC%FC%C5%CC%CA%D6%BB%D2%CC%AB%C0%C7/blog/item/dd2a5580bad025a80cf4d2f6.html
2.Application Frameworks - The Good, The Bad & The Ugly.   http://www.slideshare.net/RichardLord/application-frameworks-the-good-the-bad-the-ugly

Flex 开发框架汇总的更多相关文章

  1. Android 开发框架汇总

    Android 开发框架汇总 时间过的真快,转眼间就要进入到16年的8月了,现在应该是三伏期间,一个字“热”.前端时间整理了一篇“JS前端框架汇总”,然后紧接着又抽时间学习了一下Android开发,在 ...

  2. 国内HTML5前端开发框架汇总

    国内HTML5前端开发框架汇总 Dawei Cheng 程大伟... 于 星期日, 02/12/2012 - 20:53 提交 国外很有多优秀的HTML5前端开发框架相信大家都耳熟能详:JQuery ...

  3. Android快速开发框架汇总

    知乎贴:Android 开发有什么好的架构么? 里面这篇不错:Architecting Android…The clean way? 知乎贴: 一.如果对App的性能.包size有要求,对代码有洁癖不 ...

  4. .NET常用开发框架汇总

    分布式缓存框架:Microsoft Velocity:微软自家分布式缓存服务框架.Memcahed:一套分布式的高速缓存系统,目前被许多网站使用以提升网站的访问速度.Redis:是一个高性能的KV数据 ...

  5. Flex开发框架cairngorm入门实例

    Cairngorm是flex开发的mvc框架,现在在 adobe旗下.它架构和eclipse插件开发gef架构很相似,具体工作原理如下: 该框架就是一个Cairngorm.swc文件,大家可以到Cai ...

  6. ASP.NET 开发框架汇总

    先简单记录一下,以后慢慢添加 1.ASP.NET Aries 2.ASP.NET DevExpress

  7. H5+App开发框架汇总

    MUI:http://dcloudio.github.io/mui/(使用H5+app模式,号称是最接近原生,但是目前在手机和电脑浏览器无法使用) app-framework:http://app-f ...

  8. vue插件大全汇总

    Vue是一个构建数据驱动的 web 界面的渐进式框架.Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件特别整理了常用的vue插件,来了个大汇总,方便查找使用,便于工作 ...

  9. vue常用插件汇总

    UI-框架element - 饿了么出品的Vue2的web UI工具套件 mint-ui - Vue 2的移动UI元素 iview - 基于 Vuejs 的开源 UI 组件库 Keen-UI - 轻量 ...

随机推荐

  1. bootstrap建立响应式网站——tab选项卡

    1.bootstrap给我们提供了标签页 细细看了一下bootstrap的标签页源码,对tab选项卡有了更深的理解.其实说来也简单,以前自己写js和css时没有意识到整体的划分.就是分为两部分:一部分 ...

  2. Bootstrap-dialog的使用(续Bootstrap Table)

    Bootstrap-dialog实现表格内容的增,删,改. 插件引入:必须先引入jquery和bootstrap和artTemplate. <link rel="stylesheet& ...

  3. php 设计模式系列(一)

    参考文章:http://duchengjiu.iteye.com/blog/2227452 多态代码 // 多态, 在JAVA中是这样用的, 其实在PHP当中可以自然消除, 因为参数是动态的, 你传什 ...

  4. Cocos2dx 3.1.1 学习笔记整理(4):事件监听与Action的初步使用

    项目忙,趁着刚才有点空,看了下触摸事件在新版本中怎么实现,遇到问题都是去:cocos2d-x-3.1.1\tests\cpp-tests\Classes下面找的,里面都是一些小例子. 首先新的CCNo ...

  5. ice grid 完整部署过程

    待补充 一 理论准备 一个IceGrid集群有一个registry(注册表,用于定位)和多个node组成. IceGrid配置包括集群配置和应用配置: config.grid是集群配置,配置Regis ...

  6. EHCache分布式缓存集群环境配置

    EHCache分布式缓存集群环境配置 ehcache提供三种网络连接策略来实现集群,rmi,jgroup还有jms.同时ehcache可以可以实现多播的方式实现集群,也可以手动指定集群主机序列实现集群 ...

  7. Spark 的combineByKey函数

    在Spark中有许多聚类操作是基于combineByKey的,例如group那个家族的操作等.所以combineByKey这个函数也是比较重要,所以下午花了点时间看来下这个函数.也参考了http:// ...

  8. isKindOfClass,isMemberOfClass使用备忘

    isMemberOfClass 判断是否是属于这类的实例isKindOfClass 判断是否是这个类或者这个类的子类的实例 if ([teacher isKindOfClass:[Teacher cl ...

  9. iOS开发之监听键盘高度的变化 分类: ios技术 2015-04-21 12:04 233人阅读 评论(0) 收藏

    最近做的项目中,有一个类似微博中的评论转发功能,屏幕底端有一个输入框用textView来做,当textView成为第一响应者的时候它的Y值随着键盘高度的改变而改变,保证textView紧贴着键盘,但又 ...

  10. 【spoj8222】 Substrings

    http://www.spoj.com/problems/NSUBSTR/ (题目链接) 题意 给出一个字符串S,令${F(x)}$表示S的所有长度为x的子串出现次数的最大值.求${F(1)..... ...