从目前已知的这些富 Internet 应用(RIA)框架中,如何选择正确的(即便不是最好的)框架,是一个困难的抉择。最近, Inside RIA 完成了一项在线调查,询问 Flex/ActionScript RIA 开发者们更喜欢那个框架。
该项调查罗列了 4 个主要框架: Mate , PureMVC , Cairngorm 和 Swiz 。让调查结果本身来说话。InsideRIA 的 Rich Tretola 说道:“结果显示我的预测基本正确。PureMVC 得到了 30% 的投票,位于领先地位;Cairngorm 屈居第二位;而 Mate 则排行第三”。
在围绕投票的讨论中,开发者 Karl 分享了他为什么不使用 Cairngorm 的原因:
我发现 Cairngorm 过于复杂了,而且,在很多方面它就是个方轮。比如,为什么我要发起一个让前端控制器(front controller)来处理的事件,并把它发送给一个命令(command)?为什么不直接调用该命令(command)? 前端控制器(front controller)模式声称将我的所有命令保持在一个地方是敏捷的做法。实际上,如果把命令调用从其本来的上下文中删除,我发现自己要花费大量的时间来回忆与该事件相关的源代码放到了哪里?在我终于找到正确的代码之后,又得努力回忆我要在这做什么。这也太麻烦了吧。
其他人推荐了一些调查列表中没有的框架。例如,开发者 Vipin 说:
我们使用的是 Tom Bray 的 EasyMVC,它很简单,但使用了 Cairngorm 的许多概念。在该框架中有许多有趣的特性,我们把所有东西都混合在一起并且制造了一个内部框架,它工作得很好:开发更快了,同一个项目上可以有多个开发者,不会混淆事件和命令的处理方式等等。
Chris Brind 深思熟虑的评论和建议给这个调查真正画上了句号:
一个框架提供的主要优势是指明了实现方法的路线,它可能是 MVC 或 ViewHelper 或其他什么东西。
我要推荐那些准备着手项目的团队,仔细看一看什么框架是可用的,并且评估一下使用已有框架所带来的好处是否能超过他们自己的框架,或者超过惯例和代码审查过程所带来的好处。
依我来看,如果你的开发者素质高、守纪律,你才会真正需要一个好的惯例。但是许多人不喜欢遵照惯例办事,我认为一些更加注重细枝末节的架构师并不相信他们的开发者会遵循什么惯例,以此作为开始是悲哀的。
评论