Flex应用程序框架 - PureMVC可移植性与Swiz?

时间:2009-12-09 10:47:54

标签: flex architecture frameworks puremvc swiz

我的公司正在构建一个我们可能需要移植到其他平台的Flex应用程序:

  • Silverlight(可能)
  • 手机(可能是 - iPhone:Objective-C,Android:Java等)
  • 桌面(可能是 - AIR,.NET等)
  • 电视机(可能最终)

目前,我正在研究构建的应用程序框架,并且我在pureMVC和Swiz之间徘徊。

我喜欢swiz的简单性以及它如何为你提供一种方法来解决问题,然后应用你自己的模式。从仅限灵活的角度来看,这是我的第一选择。

但是,PureMVC与平台无关,并且已经移植到上面提到的大多数平台上。 这种便携性有多大价值?在移植和开发/维护多个应用程序时,它真的会让我们的生活变得更加轻松吗?如果是这样的话,那么PureMVC似乎就是这样。

或者,由于Silverlight有最明确的移植应用程序的商业案例,也许我们可以将Swiz移植到Silverlight ?我不太熟悉Swiz所依赖的AS3语言和Flex框架功能,以及它们是否在C#/ Silvelright中可用。 这实际上是否可行?

非常感谢!

KARTHIK

2 个答案:

答案 0 :(得分:3)

我看到它的方式,如果你使用pureMVC,你可以移植到一种新语言,没有太多麻烦(除了新语言会给你的东西)你的命令,调解器和代理,只要你将你的调解员编程到一个接口,而不是具体的组件实现,代理使用服务层从服务器获取数据。这样,您只需要用新语言实现组件和服务层。

快速浏览Swiz框架:

  • 使用flash事件模型(请参阅CentralDispatcher)
  • 使用一些flash.net和mx.rpc类(参见net和rpc swiz包)

PureMVC框架不使用flash事件模型,最终flash.net/mx.rpc引用通常会出现在服务层中。另一方面,Swiz似乎旨在充分利用flex和mxml格式,因此它可以更快地完成工作。因此,您可能还需要考虑将Swiz用于flex,将PureMVC用于其他语言。

答案 1 :(得分:0)

任何框架(包括Swiz)都可以非常轻松地移植到几乎任何语言。 Actionscript游览完成,因此理论上,在actionscript中编写的任何代码都可以转换为另一种游览完整语言。例如,我们在移动应用程序中使用Swiz框架,这些应用程序可以交叉编译以在iOS中运行。还有许多其他用于各种语言的开源交叉编译器,以及Adobe的Alchemy project

唯一不容易在Swiz中使用运行时元数据标签的东西。这可以通过使用高级搜索和替换实用程序或自定义转换框架将自定义元数据标记转换为其本机代码实现来解决。希望我们很快会看到一些很酷的新开源工具,现在Flex 4.5已经与custom compiler hooks一起发布。

简而言之,在决定框架时,​​我甚至不会考虑可移植性。选择最适合您或您的开发人员使用的那个。我个人更喜欢Swiz。

干杯!