1

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

  • 银光(可能)
  • 移动设备(也许——iPhone:Objective-C,Android:Java 等)
  • 桌面(也许——AIR、.NET 等)
  • 电视机(也许最终)

目前,我正在研究构建应用程序框架,我在 pureMVC 和 Swiz 之间纠结。

我喜欢 swiz 的简单性以及它如何为您提供一种连接事物然后应用您自己的模式的方法。从仅弹性的角度来看,这是我的第一选择。

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

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

非常感谢!

卡尔提克

4

2 回答 2

3

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

快速浏览一下 Swiz 框架:

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

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

于 2009-12-10T10:02:26.643 回答
0

任何框架,包括 Swiz,都可以很容易地移植到几乎任何语言。Actionscript 是完整的,所以理论上任何用 actionscript 编写的代码都可以转换成另一种完整的语言。例如,我们在移动应用程序中使用 Swiz 框架,该框架经过交叉编译以在 iOS 中运行。还有许多其他用于各种语言的开源交叉编译器,以及 Adob​​e 的Alchemy 项目

在 Swiz 中唯一不容易移植的是运行时元数据标签的使用。这可以通过使用高级搜索和替换实用程序或自定义转换框架将自定义元数据标记转换为其本机代码实现来解决。希望我们能很快看到一些很酷的新开源工具,因为 Flex 4.5 发布时带有自定义编译器钩子

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

干杯!

于 2011-05-12T18:49:53.800 回答