首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > flex >

Flex 开发框架集锦

2012-11-06 
Flex 开发框架汇总现有成熟常用的Flex框架: Cairngorm (Adobe Open Source) - MVC framework PureMVC (Ope

Flex 开发框架汇总

现有成熟常用的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

Cairngorm:http://opensource.adobe.com/wiki/display/cairngorm/特点:    * 最成熟,最知名的Flex开发框架    * micro-architecture,有一系列的design patterns集合    * 很大程度上借鉴了Java开发框架    * 专注于响应用户交互,封装服务器交互逻辑,管理客户端状态和UI状态基于Cairngorm框架的Flex项目结构:    * ModleLocator    * ServiceLocator    * 封装的业务逻辑    * FrontController类优点:    * 开发者社区的支持力度    * 从Java开发框架借鉴而来的成熟实践策略    * 适合大型的Flex项目    * 适合团队开发,由于具备出色的架构理论支持和任务分发机制不足:    * 代码冗余    * Flex内置事件模型复杂化    * 框架过于依赖全局单例模式    * Service Locator和Delegates比较臃肿    * 没有针对Views的解决方案-----------------------------------PureMVC:http://puremvc.org/特点:    * 有中文最佳实践文档    * 非针对Flex的框架    * 专注于MVC模式    * Model,View,Controller也是单例    * 还有第四个单例叫做Fa?ade,用来实现各层的通讯和public方法访问    * 基于PureMVC框架创建的Flex项目结构:    * 与Cairngorm类似    * 将项目分成几个不同的packages    * 通过扩展框架类来实现类的操作    * 通过额外的Fa?ade类来作为应用入优点:    * 结构非常清晰    * 开发者社区支持充分    * 适合团队开发使用不足:    * 依赖于单例模式    * 不专注于Flex,对于MXML开发无特殊优势    * 过于强调理论,实践开发周期变长    * CASTING太过复杂    * Debugging调试过于困难------------------------Mate:http://mate.asfusion.com/特点:    * 基于标签和事件驱动的框架    * 完全基于MXML实现    * 事件驱动专注于更容易的定义谁来响应事件    * “别给我电话,我会打给你”的依赖注册实现基于Mate创建的Flex项目结构:    * 必须拥有一个或多个事件    * 必须有一个MXML文件称为event map    * event map mxml文件定义想侦听的事件和如何响应该事件    * 可以拥有多个event map文件    * 当把需要的数据提供给类或者注入类时,对象被构造。对象不需要获取数据,而是把需要的数据传给对象优点:    * 松散耦合的依赖注入实现方式    * 组件不依赖于全局单例模式    * 更加容易充当独立agents完成操作    * 不需要开发者一直使用Flex内置事件模型    * 不会限制开发者使用单独响应来处理每个时间    * 使用更加直观和简单    * 文档和示例众多    * Models,Views就是常规类定义,不需要继承    * Events就是系统内置Event类的子类不足:    * 仅仅是针对MXML    * 不适合于将所有工作都使用AS类来完成的开发人员    * 不规范团队开发应用的方式,需要团队自行定义    * 不能使用LiveCycle DataServices-------------------------Swiz:http://code.google.com/p/swizframework/特点:    * IoC与DI模式    * 简化事件侦听处理    * 异步远程调用    * 集中强调对于Java模式的利用基于Swiz创建Flex的结构:    * 首先告知Swiz框架应用组件结构    * 核心为集中工厂模式    * 提供依赖管理,通过定制的metatag原标签Autowire优点:    * 易于使用    * 不强迫改变项目文件结构    * 基于 metadata 的 IoC 和 DI 方式    * 最大程度使用 Flex 内置事件处理机制不足:    * 同 Mate 类似,也不定义项目结构,需要开发团队自行定义    * 由于使用自定义数据标签,编译过程可能需要使用别的框架从来不曾使用的参数---------------------------------------------Spring ActionScript:http://www.pranaframework.org/特点:    * as3之上的IoC容器    * 可以特别使用在Flex上    * 扩展Cairngorm和PureMVC    * 提供基于MVC的架构和实现方式    * 基于Java Spring框架    * 特别专注于BlazeDS和remoting messaging交互逻辑基于Spring AS框架的Flex项目结构:    * 数据对象定义在外部XML中    * 运行时加载    * 通过容器管理依赖注入    * 设置method-invocation方法浇铸元素预处理MethodInvokingFactory对象的实例    * 针对服务,操作和命名提供一些接口和抽象基础类优点:    * 兼容 Cairngorm    * 兼容 PureMVC    * 特别有远程服务和消息方法定制,无需改动 services-config.xml 或者 messaging-config.xml    * 重用性强    * 易于测试    * 支持文档齐全不足:    * 应用程序加载时间变长    * 无法无法更轻量的处理Logging,开发团队应该在Spring AS之外实现logging为了您的安全,请只打开来源可靠的网址打开网站    取消来自: http://hi.baidu.com/%BC%FC%C5%CC%CA%D6%BB%D2%CC%AB%C0%C7/blog/item/dd2a5580bad025a80cf4d2f6.html 


热点排行