是否有可能为Windows Phone 7和Windows Mobile 6.x开发相同的应用程序而无需额外的努力?

时间:2011-12-22 11:02:37

标签: windows-phone-7 cross-platform windows-mobile-6

我必须为Windows Mobile 6.x和版本7开发应用程序,我的技能组件是.net和基于Web的。由于版本7不向后兼容,我认为我最终会得到很多重复的工作。

我看过Rhomobile和Phonegap,但后者不支持windows mobile 6.x,前者需要ruby知识。

我认为我可以在类库中拥有尽可能多的逻辑,然后将类“包含为链接”到项目中,以便可以针对特定平台进行编译。在这种情况下,我觉得我最终可能会遇到很多#if PHONE7样式逻辑,并且还必须为每个平台实现用户界面代码。

解决此问题的最有效方法是什么?

1 个答案:

答案 0 :(得分:2)

如果您可以将UI与逻辑分开,则可以开始多目标。另一个考虑因素是手机的运行时间(Silverlight 4?)和电话沙盒为您提供了限制。

MVVM Light是多目标的,是开源的,你可以用它来回顾它们如何处理它:

http://mvvmlight.codeplex.com/SourceControl/changeset/view/d546dc69fffd

简而言之,您的“添加链接”理念几乎就是它的基础。

要问的另一个问题是该应用程序是否适合这两个平台?从移动到地铁的使用方式是一个很大的变化。人们希望事情能够以某种方式表现出来并且在地铁上看起来有某种方式。如果您可以将其限制在UI并尽可能多地移动逻辑,那么您应该没问题。但是有一点不值得分享,复制起来更容易。

很抱歉这个答案缺乏详细信息,说实话,它非常适合应用。我个人会首先使用单独的应用程序和重构作为共性出现,使用链接代码文件和散列定义的组合。

一个可爱的技巧...你总是可以使这些类成为局部,并为每个哈希定义提供一个部分代码文件:

MyBusinessClass.CF.cs
MyBusinessClass.Silverlight.cs