Mate (发音“mah-the” 就像 latte)在 Flex 社区中正在受到大量关注。Mate 是由 AsFusion 创建的基于标签的 Flex 框架。尽管 Mate 在 AsFusion 内部已经使用了很长一段时间,但其 Alpha 版的发布却是刚刚不久的事情。
Mate 这个 Flex 框架利用基于标签的 MXML 语言提供了一个定义 Flex 应用程序如何处理事件的映射。它解决了开发人员创建 Flex 应用是所碰到的大量常见问题,如从外部服务中检索数据、处理业务逻辑。
正如 GeekLife 的 John C. Bland II 描述的:
大部分框架都增加了许多你根本不需要或者不经常使用的多余的功能。有时框架会出现奇怪的配置和方法。大多数情况下,它们只是提供了一个通用的代码基础,这样,只要新手熟悉这个选用的框架,就可以很快上手而且还挺“高产”。
Bland 特别喜欢 Mate 的事件处理器。他说:
在这个领域 Mate 是个宝。只须简单地启动事件,并且设置好事件处理器即可。这些事件处理器可以执行任何数量的任务,包括对某项服务的调用,对一个类中某个值的设定,对一个类中某个方法的调用,或者分发另一个事件。让人高兴的是一个事件能够在你的用户界面中被分发达 20 层,而无需设置一个全局属性 / 调用一个全局方法(如 ModelLocator)。 你可以让另一个视图 / 组件来接收更新,不管其在应用程序中所处的位置如何。这确实太棒了。
而 Zee Yang ,一个 J2EE 开发人员,他从另外一个角度来看 Mate,也同意这种积极的评价。Yang 解释说:
关键是所有框架在利用 MXML 的声明性本质上做的都不够好。这个声明性本质很重要,因为 Flex 开发人员中的大多数要么来自 J2EE 阵营,要么来自 Flash/AS3 阵营。比如,我就有 J2EE 的开发背景。随着我 Flex 技能的进步,我对 MXML 之美越来越欣赏。同时,我对冗长的基于 AS3 的框架越来越不满意。我喜欢 Mate,因为它是一个充分利用了 MXML 性质的 MVC 框架。
Iconara的程序员 Theo Hultberg 同意 MXML 方法对 Flex 开发人员有益处的观点。他评论说:“Mate 是非侵入的框架。它只是让你用 MXML 声明的方式来对应用程序进行配置,大部分令人厌烦的工作它会替你完成。 从文档和示例就可以判断出,在 Flex 应用框架这个还不太拥挤的市场中,Mate 会是一个不错的竞争者。”
在总结 Mate 的核心特性时,Hultberg 评述道:
Mate 的核心是事件映射,它描述了当应用程序分派不同类型的事件时,应该发生什么情况。对于每一个事件,都会有一个或者更多的事件处理器被调用。事件处理器可以做任何事,包括调用一个对象的方法,运行一个命令,或者对远程对象进行调用。同时,也给你提供了编写自己专门的事件处理器的机会。各事件处理器可以获得前一个处理器的结果依次运行,这样就可以构造出非常复杂的逻辑。所有这些都是用 MXML 完成的,意味着你做的配置其实是应用程序真正的主线。更重要的是,这个配置可读性好,易于理解。
伴随 Mate 持续受到开发人员的关注,InfoQ 会追踪报道。
评论