Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flex PureMVC的可移植性对应用程序开发人员有何好处?_Apache Flex_Puremvc - Fatal编程技术网

Apache flex PureMVC的可移植性对应用程序开发人员有何好处?

Apache flex PureMVC的可移植性对应用程序开发人员有何好处?,apache-flex,puremvc,Apache Flex,Puremvc,PureMVC框架的一个既定目标是避免平台依赖性,以便于移植。考虑到由于语言和API的差异,应用程序代码将始终严重依赖于平台,并且避免平台依赖性会使框架重新发明轮子和/或只提供最小公分母的功能集,作为一名应用程序开发人员,框架的可移植性对我有什么好处?我曾经使用过PureMVC。他们试图用很多语言来实现他们的东西。关于最小公分母,您可能是对的,但总的来说,这是一个不错的框架,我在PureMVC中看到了一个非常好的AS3应用程序 我不认为他们在谈论移植实际代码的可移植性。这里的想法更多的是,您正在

PureMVC框架的一个既定目标是避免平台依赖性,以便于移植。考虑到由于语言和API的差异,应用程序代码将始终严重依赖于平台,并且避免平台依赖性会使框架重新发明轮子和/或只提供最小公分母的功能集,作为一名应用程序开发人员,框架的可移植性对我有什么好处?

我曾经使用过PureMVC。他们试图用很多语言来实现他们的东西。关于最小公分母,您可能是对的,但总的来说,这是一个不错的框架,我在PureMVC中看到了一个非常好的AS3应用程序

我不认为他们在谈论移植实际代码的可移植性。这里的想法更多的是,您正在使用一个通用的MVC体系结构,您可以将其应用于其他项目和其他语言

他们试图说,如果您熟悉PureMVC模式,您可能会进入一个新的PureMVC代码库,即使它是另一种语言,而且您已经知道了这个领域的情况


您也可以说,开发良好的PureMVC技能的开发人员可能会养成良好的习惯,这些习惯会随着语言的转换而转变。但话说回来,也许不是。。出于您提到的原因。

我们已经在两个项目上使用了PureMVC,在我看来,尝试语言独立性是一个相当大的负担

如果两种语言不是很相似(C#到java是有意义的,as3到php不是)——我同意知道解决问题的方法是有用的,但“简单”模式已经足够好了


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

PureMVC是选择不使用Flex框架的Flash平台开发人员的唯一真正选择。对于某些项目来说,Flex的规模成本太高(这种情况经常发生!)

我喜欢在Flex中创建原型,然后在应用程序即将完成时将其删除并用自定义组件替换我的视图。PureMVC使用它的中介模式使这一点变得非常容易。我不确定是否有任何其他框架允许我使用此工作流


就个人而言,我认为PureMVC在可移植性目标上走得太远了:我喜欢它与Flash和Flex一起工作的事实(出于上述原因),但我觉得它应该就此停止,并利用本地Flash Player事件体系结构。

PureMVC的可移植性将在您迁移到另一种语言或用另一种语言重新实现时为您提供帮助

我无法统计我为之编写代码的平台和语言的数量,这些平台和语言现在已经灭绝,即使我还有源代码,它们也几乎一文不值,必须从头开始重写,因为代码通常是100%特定于平台的

但是,所有的应用程序代码不必严重依赖于平台。视图组件和服务(应用程序的边界)必须是,但夹在边界之间的应用程序逻辑不必是

PureMVC的范围真的很窄;只是为了帮助您将代码划分为MVC元模式所禁止的三层。没有理由认为这段代码必须与您的平台紧密结合才能达到最佳效果

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

对于用另一种语言重新实现的情况,想象一下你正试图用你的应用程序占领移动市场的重要部分。市场是如此的分散,你必须在2个或更多的Windows Mobile、iPhone、Flash和Java上实现相同的程序。当然,你可能会有单独的团队负责这些应用程序,但为什么会有完全不同的体系结构呢?使用PureMVC,您可以为应用程序的所有版本提供一个单一的体系结构


-=Cliff>

是否有人使用PureMVC跨多个平台构建和移植应用程序的例子

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

  • Silverlight(可能)
  • 手机(可能)
  • 桌面(也许——不仅仅是空气!)
  • 电视机(也许最终会)
如果PureMVC可以简化移植和维护,我会考虑将其作为一个框架。我很想知道是否有其他人将PureMVC应用程序移植到不同的平台,以及他们在多个平台上并行开发该应用程序的经验

干杯


Karthik的内部工作(Flash事件等)不依赖于平台。 因此,尽管它不会让移植变得更容易,但只要在我们选择去的任何地方向我们展示它友好和熟悉的面孔,它就会有所帮助;-)

“没有理由认为[应用程序]代码必须与您的平台紧密结合才能达到最佳效果”这句话让我觉得很幼稚。你这是什么意思?当然,我的应用程序代码将绑定到该平台,它是为该平台编写的,旨在充分利用其优势。如果我需要改变平台,我希望使用新平台的所有功能,而不是试图适应某种最低的公分母