我必须为Windows Mobile6.x和版本7开发一个应用程序,我的技能是基于.net和web的。由于版本7不能向后兼容,我想我最终会有很多重复的工作。
我看过Rhomobile和Phonegap,但后者不支持windows mobile 6.x,前者需要具备ruby知识。
我想我可以在类库中有尽可能多的逻辑,然后将这些类作为链接包含到项目中,这样它们就可以针对特定的平台进行编译。我觉得在这种情况下,我可能会有很多#if PHONE7风格的逻辑,而且用户界面代码也必须为每个平台实现。
解决此问题的最有效方法是什么?
发布于 2011-12-22 19:09:45
如果你能把UI和逻辑分开,你就可以开始多目标了。另一个考虑因素是手机的运行时间(Silverlight 4?)而手机沙盒给你带来了限制。
MVVM Light是多目标的,并且是开源的,你可以用这个来回顾他们是如何解决这个问题的:
http://mvvmlight.codeplex.com/SourceControl/changeset/view/d546dc69fffd
简而言之,你的“添加为链接”的想法是它的基础。
另一个要问的问题是,应用程序是否适合这两个平台?从移动到地铁的使用方式是一个很大的变化。在metro上,人们期望事物以特定的方式运行,并以特定的方式显示。如果您可以将其限制在UI中,并尽可能多地移出逻辑,那么您应该是可以的。但总有一天,它不值得分享,它只是更容易复制。
很抱歉在这个答案中缺乏细节,老实说,这是非常具体的应用程序。我个人会从单独的应用程序开始,并使用链接代码文件和散列定义的组合来重构共性。
一个可爱的把戏..。您可以始终将类设置为部分,并为每个散列定义创建一个部分代码文件:
MyBusinessClass.CF.cs
MyBusinessClass.Silverlight.cshttps://stackoverflow.com/questions/8602925
复制相似问题