Flex开发领域有许多框架来创建可扩展的企业级RIA应用,在我看来有两个主要框架:Cairngorm和Mate。二者都为企业级RIA提供了 一个坚实的基础。根据我使用Cairngorm和Mate在企业Java应用的情况来看,Mate对于小型和大型项目来说都是不错的选择。 Cairngorm使用一个单件模式,这使得它难于使用modules,在编译时间、SWF文件尺寸、开发速度上会耗费巨大的资源。相比之下,Mate使 用注入方式使得其易于并快速创建、维护和调试应用。我不是说你使用Cairngorm就错了,但是我的第一选择是Mate。
Cairngorm开发走到了尽头而Mate方兴未艾
Cairngorm被Adobe购买(编者注:此处不实)而且最终开源,自从2008年7月在SVN代码库开放源码,Cairngorm总共有0个 新的release,总共15个提交,而且自从2008年11月就没有新的提交,自从Flex2以后就没有一次Cairngorm代码发布。相 反,Mate也是开源的,Mate光去年就有17个新的版本,并伴随有几百个提交到代码库中,没有其他的Flex框架有如此的活跃度。
Mate和总线结构
Mate有一些不足之处,而且代码上没有任何处理,这就是总线结构。Mate由asfusion的几个人来维护,他们确实在更新论坛、提供文档、在 各种Flex活动中做演示等方面做的很好。但是,如果他们决定改变他们的职业或者仅仅过度维护Mate,那么可能没有人会继续涉足并保持这个框架不断前 进。我希望看到Mate在它的代码层面获得广泛的支持,有更多的人提交代码而且在框架的发展方向上能做出决定。希望能发布一个Mate1.0的版本(编者 注:目前版本为0.8.8.1),这个版本的代码要非常稳定,但是1.0版本对于想使用它来开发企业项目的人来说要让人觉得放心。
支持两个框架或者都不支持
Adobe几年前买了Cairngorm,这对于帮助Flex RIAs来说是个好的主意。现在FlexSDK和Cairngorm是开源的,但现在游戏规则完全改变了。看起来没人在使用Cairngorm,或者寻找 在Cairngorm下对于modules的增强。而且看起来没有社区在对该项目进行参与(编者注:这个说法不正确,有来自UniversalMind的 Extensions for the Adobe Cairngorm MVC,http://code.google.com/p/flexcairngorm/)。有什么因素会使Adobe改变它对一个框架的方 向?Cairngorm在5年后仍然使Adobe的框架吗?Flex4的时候是该去改变了。一个选择就是提供Cairngorm和Mate作为Flex的 专属框架。但是问题来了,谁来维护这些框架?第二个选择是不支持任何一个框架。这种方式社区会驱动RIA发展的方向,通过使用最好用的框架。这种方式已经 存在了数年,例如Struts, Spring, Hibernate, Apache等等。通过支持仅仅一个框架,框架创新的大门就关上了,FlexSDK持续改进并让社区兴奋,其中的关键是让社区参与改进,这是一个巨大的进 步。
原文在这里:
http://www.flexpasta.com/index.php/2009/07/16/mate-framework-should-it-b…
中文翻译原文:http://www.riameeting.com/node/416