Windows 8 Metro应用程序需要改变代码才能在基于ARM的设备上运行吗?

6
据我所知,运行时的Metro部分不依赖于x86处理器架构和本机代码,并且在x86平板电脑或ARM平板电脑上可以无需更改代码即可正常工作。这是正确的吗?
此外,从Windows Phone Metro移植应用程序到Windows 8 Metro有多容易?我们是否可以希望完全不需要更改代码?
同样地,XBOX又如何呢?Windows 8 / Windows Phone Metro应用程序是否可以轻松移植到新的XBOX Metro环境?

Xbox Metro环境目前还未开放第三方应用(或许以后会开放?)。至于ARM到x86的更改,可能几乎没有什么变化——唯一可能存在的风险是与硬件有关的特定低级架构/图形。除非你依赖于特定的处理器钩子,否则你应该没问题。Metro应用/界面的整个目的就是可移植性。考虑到微软指出常规的“桌面”应用程序默认情况下不起作用,似乎可以说,Metro应用将在硬件上通用。 - William Melani
2个回答

6

Windows 8有着一种分裂的个性, 其架构如下所示:

enter image description here

左侧是更新的Metro风格/WinRT架构,而右侧是旧的Win32/.NET架构。已经广泛报道,ARM平板电脑仅支持Metro / WinRT架构。没有迹象表明ARM设备需要不同的代码,这似乎相当不可能,因为它将具有相同的架构。
此外,从Windows Phone Metro移植应用程序到Windows 8 Metro有多容易?我们能否希望根本不改变代码是可能的?
由于WP7和Win8架构的相似性,即类似的应用程序生命周期和类似的受限API集,将WP7应用程序移植到Win8要容易一些。但是,确实需要进行代码更改,请参阅此文章,该文章介绍了一个简单的跨平台Win8-WinRT / Silverlight应用程序。 XAML UI元素位于不同的命名空间中,这影响您所有的UI代码,XAML命名空间映射语法也不同,因此您无法共享XAML。 这真的有点混乱。
有传言称WP8将使用相同的WinRT架构,这将使代码共享成为可能。 但是,我认为这是非常不可能的,微软已经从WP6.5到WP7引入了重大的架构变化,再次这样做会疏远开发人员。

2
“再做一次会疏远开发者” - 只要SL仍然支持b/c,过渡将长期简化事情并允许他们接受C++应用程序(最近在uservoice网站上“正在审核中”)。我认为这是长期的更好选择(也是性能方面的更好选择,因为据我所知,XAML绑定是W8中的本地代码)。 - Richard Szalay
我认为Windows Phone应该采用WinRT的一个版本,以实现生态系统的统一,这是唯一合乎逻辑的事情。尽管如此,对于已经在Windows应用商店中有50,000多个应用程序来说,它们并没有针对WinRT metro进行编程,因此为了使它们继续工作,必须存在某种遗留支持当前类似于Silverlight框架的Windows Phone。微软确实犯了一个错误,市场迫使他们发布了一个移动平台,而当时甚至可能连WinRT都还在草图阶段。 - LaserBeak

0

由于其底层处理器架构,ARM将无法托管“Windows 7”模式,只能使用Metro模式。因此,如果您有Windows应用程序,它实际上无法运行。它需要重新编译/重新创建为Metro样式应用程序并发布到市场。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接