OpenFlux 向 Flex 开发者提供了一个基于 MVC(Model-View-Controller)架构的开源组件框架。该库拥有一套组件,目前包括 Buttons、Lists 及 ScrollBars。OpenFlux 的目标在于简化 Flex 应用中组件的定制,进而无需担心会影响组件的其他部分。
该项目的创始人 Ben Stucki 这样描述该组件模型:
OpenFlux 的每个组件都由三个核心部分构成,他们协同工作以定义 API(模型)、图形(视图)和组件的行为(控制器)。乍一看,我就觉得对于组件的创建来说有些过度设计了,并且它也确实增加了一些复杂性。然而,由于你可以非常快速和容易地将整个定制的图形和 / 或行为增加到组件中而无需担心重写或者破坏现有的组件,所以这是一个极大的优势。
该项目的贡献者 Ryan Campbell 讨论了标准的 Flex 组件和 OpenFlux 组件的区别:
OpenFlux 组件和现在的 Flex 组件大体的区别是前者将逻辑分离到 MVC 架构中了。这使你能在保持其他部分功能不变的情况下,轻松的替换组件的一部分。List 组件更进一步,它还分离了布局逻辑,这样你就能轻松地使用新的布局来呈现列表条目了。
在今年初 Ben Stucki宣布该项目发布的帖子中,他详细论述了构建 OpenFlux 的动机:
OpenFlux 真正的目的是在你的项目中进行定制。使用一个无视图组件的系统意味着你可以快速轻松地创建大量新颖有趣的组件而不必担心会破坏组件的其他部分。还记得过去在 Accordian、TabNavigator 或 List 组件上使用的小把戏吗?我当然记得,这就是创建它的原因。答案并不是保护所有东西而是创建一个更棒的组件模型!
如果你想进一步学习 OpenFlux, InsideRIA 上有一篇很好的文章谈到了如何上手该框架。theflexshow.com 上还发布了今年初采访 Ben Stucki 的一段音频。
评论