3

我正计划开发一个可在手机、平板电脑和 PC 上使用的 Windows 8 应用程序。我的理解是,我可以对所有设备使用相同的代码。(当然,一些 UI 的东西必须适应)

因为它是一个商业应用程序,所以客户想要一个附加的桌面版本。桌面版可以使用 Metro 码吗?同时开发 Metro 应用程序和桌面应用程序需要采取哪些步骤?

PS我打算用C#开发它...

4

2 回答 2

7

是的,您可以在具有MVVM模式的两个应用程序中使用几乎相同的代码。在这种模式下,您的 App 分为 3 个主要部分:View、ViewModel 和 Model。模型和视图模型是可移植的(您可以创建一个可移植库并引用相同的文件作为 Metro 和桌面应用程序项目的链接。视图取决于平台。

正如您可能已经想象的那样,模型是数据,而视图模型是连接视图和模型的东西。问题是您可能希望将数据保存到本地存储,这取决于平台。为此,您可以创建接口并在您的 ViewModel 上实现它们,这是不同平台中不同 ViewModel 的唯一部分。

于 2012-12-19T13:04:05.780 回答
2

是和不是。

是的,您可以在 Metro 和桌面应用程序上使用 C# 代码。

然而,在这些应用程序中处理数据和输入的方式有很多不同。

它们是两个完全不同的系统,具有不同的输入,不同的构建页面的方式

例如沙盒不适用于桌面应用程序。(这只是百万分之一的例子)。

尽管您的应用程序的主要逻辑将保持不变,但在两者之间进行转换并不容易

是一个涵盖相反的资源。

于 2012-12-19T12:36:38.993 回答