我计划开发可用于手机,平板电脑和PC的Windows 8应用程序。我是如何理解的,我可以为所有设备使用相同的代码。 (当然一些UI的东西必须改编)
因为它是一个商业应用程序,所以定制者需要一个额外的桌面版本。我可以将Metro代码用于桌面版吗?我必须采取哪些步骤同时开发Metro应用程序和桌面应用程序?
P.S。我打算用C#开发它......
答案 0 :(得分:7)
是的,您可以在具有 MVVM 模式的两个应用中使用几乎相同的代码。在这种模式中,您的应用程序分为3大部分:View,ViewModel和Model。 Model和ViewModel是可移植的(您可以创建一个可移植的库,并引用与Metro和Desktop应用程序项目中的链接相同的文件.View取决于平台。
您可能已经想到,Model是Data,ViewModel是什么连接View和Model。问题是您可能希望将数据保存到本地存储,这取决于平台。为此,您可以创建接口并在ViewModel上实现它们,这是在不同平台上与ViewModel不同的唯一部分。
答案 1 :(得分:2)
是和否。
是的,您可以在Metro和桌面应用程序中使用C#代码。
但是,在这些应用程序中处理数据和输入的方式之间存在很多差异。
它们是两个完全不同的系统,具有不同的输入不同,打开和打开页面的方式
例如,沙盒不适用于桌面应用。 (这只是百万中的一个例子)。
虽然您的应用程序的主要逻辑将保持不变,但在两者之间进行转换并不容易。
This是一种覆盖相反的资源。