PureMVC的可移植性如何使应用程序开发人员受益?

时间:2008-09-27 10:55:37

标签: flex puremvc

PureMVC框架的既定目标之一是避免平台依赖性以便于移植。考虑到由于语言和API差异,应用程序代码将始终严重依赖于平台,并且避免平台依赖性使框架重新发明轮子和/或仅提供最小公分母特征集,以何种方式实现可移植性该框架对我作为应用程序开发人员有益吗?

6 个答案:

答案 0 :(得分:4)

我曾与PureMVC合作过。他们试图用很多语言来实现他们的东西。你可能对最不常见的分母是正确的,但总的来说,这不是一个糟糕的框架,我在PureMVC中看到了一个非常好的AS3应用程序。

我不认为他们在移植实际代码方面谈论可移植性。您的想法更多的是您使用的是通用MVC架构,您可以将其应用于其他项目和其他语言。

他们试图说,如果你熟悉PureMVC模式,你可能会进入一个新的PureMVC代码库,即使它是另一种语言,你就已经知道了这片土地。

您可能还会说,培养良好PureMVC技能的开发人员可能会养成良好的习惯,这些习惯会随着语言的变化而变化。但话说回来,也许不是......因为你提到的原因。

答案 1 :(得分:3)

我们现在一直在两个项目上使用PureMVC,在我看来,尝试语言独立性是一个很大的负担。

直接跳入项目的承诺,因为框架已经知道,如果语言不是非常相似的话,我似乎并不相关(C#对java有意义,而不是php) - 我同意它对于已知的解决问题的方法很有用,但为此,“普通”模式足够好。

但是,我也不同意项目使用的各种模式的使用,因此我们选择不在下一个项目中使用它可能与这两个问题有关,而不仅仅是语言/平台的尝试独立性。

答案 2 :(得分:3)

PureMVC的可移植性将在您迁移或重新实现其他语言时提供帮助。

我无法计算我编写的代码的平台和语言数量现在已经绝迹,为此,即使我仍然拥有源代码,它也将毫无价值,必须从头开始重写今天,因为代码通常是100%特定于平台的。

但是所有应用程序代码都不需要在很大程度上依赖于平台。查看组件和服务(应用程序的边界)必然是,但是您的应用程序逻辑必须夹在边界之间。

PureMVC的范围非常狭窄;只是为了帮助您将代码分成MVC元模式禁止的三个层次。没有理由为什么这个代码必须与您的平台紧密联系才能达到最佳状态。

当需要迁移时,您会理解框架参与者及其角色,职责和协作保持不变。这使您可以处理语言的语法差异,重新创建视图组件和服务。至少你不必完全重新设计。

对于使用其他语言重新实现的情况,想象一下您正在尝试使用您的应用程序捕获移动市场的重要部分。市场非常破碎,你必须在2个或更多的Windows Mobile,iPhone,Flash和Java上实现相同的程序。当然,您可能会有独立的团队负责应用程序,但为什么要有完全不同的架构?使用PureMVC,您可以为应用程序的所有版本提供单一体系结构。

- =崖>

答案 3 :(得分:2)

PureMVC是选择不使用Flex Framework的Flash Platform开发人员唯一真正的选择。对于某些项目,Flex的大小成本太高(它发生了!)。

我喜欢在Flex中进行原型设计,然后在应用程序接近完成时将其删除并用自定义组件替换我的视图。 PureMVC使用它的Mediator模式非常容易。我不确定是否有任何其他框架可以让我这个工作流程。

就我个人而言,我认为PureMVC对其可移植性目标的影响太大了:我喜欢它与Flash和Flex一起使用的事实(由于上面提到的原因),但我觉得它应该停在那里,并利用本机Flash Player事件架构。

答案 4 :(得分:1)

是否有人使用PureMVC在多个平台上构建和移植应用程序的示例?

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

  • Silverlight(可能)
  • 手机(也许)
  • 桌面(可能 - 不只是AIR!)
  • 电视机(可能最终)

我认为PureMVC是一个框架,如果它可以简化移植和维护。我很想知道其他人是否已将PureMVC应用程序移植到不同的平台,以及他们在移植时的体验,然后在多个平台上并行开发应用程序。

干杯,

KARTHIK

答案 5 :(得分:1)

PureMVC不依赖平台进行内部工作(Flash事件等)。 因此,虽然它不会让任何人更容易移植,但只要向我们展示其友好和熟悉的面孔,无论我们选择去哪里都可以提供帮助; - )