10

我知道两个平台上的 Metro 共享一个共同的“外观和感觉”,并且 WinRt 使用 XAMLand C#(或 VB.NET),就像 Silverlight 在 Windows Phone 7 上所做的那样。

但是我也知道 WinRT 不是 Silverlight。

因此,创建适用于 Windows 8 平板电脑和 Windows 7(或 7.5)手机的应用程序的过程是什么?

WinRt 与 Silverlight 有多接近?

4

6 回答 6

20

尽管微软的某些人声称它只需要更改几行代码......

移植应用程序有多困难的唯一可能答案是它取决于!

  • 手机应用程序有什么作用?
  • Win8 上还有多少功能可用?
  • 在Win8上不能做同样的事情应该怎么办?
  • Win8 版本还应该添加什么(如果有的话)?
  • 与手机相比,您将如何处理 Win8 上的额外屏幕空间?
  • 您是否在其中一个上使用了另一个不存在的控件或 UI 元素?
  • ETC, ....

相似之处在于:

  • 两者都使用 XAML
  • 两者都可以对代码使用相同的编程语言(可能是 C#)
  • Win8上的“地铁风格”应用程序的设计灵感来自Metro(WP7的设计语言)

除此之外,它将取决于应用程序。

您无法创建将在两者上运行的应用程序。至少您需要重新编译,因为这两个平台需要针对不同版本的 .net 框架。

更新:微软提供了一些关于制作这种移植的
早期指导。它包括一些命名空间和 API 映射。

于 2011-09-15T11:27:36.310 回答
4

看看 API,忽略用户体验的差异,我想说:不难,但也不是微不足道的。或者,另一种方式,比从 WPF 到 Silverlight 更困难,但比从 WinForms 到 WPF 更容易。

  • 大多数 WP/Silverlight 控件(减去枢轴/全景图)都存在,但它们存在不同的命名空间
  • 其他功能,如应用程序间通信和状态管理,似乎完全不同。
于 2011-09-15T11:18:33.907 回答
2

我遇到的最大潜在问题是,如果您碰巧选择在 Windows Phone 上使用 XNA/Silverlight 进行开发。在这种情况下,您要么必须决定完全重写应用程序,要么尝试使用 XNA 替代品,例如 MonoGame。我自己走了这条路,我可以很高兴地说,至少在这个阶段,MonoGame 似乎支持至少 90% 的 XNA 功能,并且由于几组开发人员和个人的辛勤工作,现在相对容易移植应用程序而没有太多的根本变化。

这是 MonoGames 网站http://monogame.codeplex.com/的链接

于 2012-10-18T00:04:27.380 回答
1

如果你熟悉 MVVM 架构,可以这样想:

  • 两个应用程序可以共享相同的视图模型(特别是如果您选择不让视图模型了解有关视图的任何信息)
  • 您创建一个特定于操作系统的视图,一个用于 Windows Phone 的视图和一个用于 Windows 8 的新视图,并绑定到相同的视图模型。
  • 您可以相应地加载视图,使用您选择的编译器指令、应用程序配置、分离的外壳程序/引导程序等。
  • 如果您使用任何特定于平台的东西,您可能需要向您的视图模型和其他非视图库引入一些编译器指令。

遵循这些指令,您可以获得非常特定于平台的用户体验,以及非常统一的代码库。

除了你已经从其他人那里得到的很好的答案之外,我希望这能为你增加有价值的信息。

于 2011-09-15T16:40:54.137 回答
1

您可以查看http://msdn.microsoft.com/en-us/library/windows/apps/br229571(v=VS.85).aspx看看是否有帮助。

于 2011-09-16T15:19:33.730 回答
0

这个答案对于 WP7 & SL 是一样的。

在一到十的范围内,最多是六或七。

不幸的是,WinRT 不是 .Net 框架。那就是 WP7 和 SL。

话虽如此,如果 WP7 <-> W8 是 7,则 WP8 <-> 是 9.9!

顺便说一句,你永远不会得到 100%。至少,不同的外形尺寸需要不同的 XAML。

请记住,使用 MVVM 进行设计!

于 2012-10-18T16:36:44.967 回答