Windows 8 Metro应用程序是否需要对代码进行任何更改才能使用基于ARM的设备?

Las*_*eak 6 windows windows-phone-7 microsoft-metro windows-8 windows-runtime

据我所知,运行时的Metro部分不是x86处理器架构和本机代码依赖,并且可以在x86平板电脑或ARM平板电脑上对代码进行任何更改.它是否正确?

将应用程序从Windows Phone地铁移植到Windows 8地铁也是多么容易?我们可以希望根本不可能改变代码吗?

同样,XBOX怎么样?有没有机会将Windows 8/Windows Phone metro应用程序轻松移植到新的XBOX metro环境中?

Col*_*inE 6

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

在此输入图像描述

左侧是较新的metro-style/WinRT架构,而右侧是较旧的Win32/.NET架构.据报道,ARM平板电脑只支持Metro/WinRT架构.没有迹象表明ARM设备将需要不同的代码,而这似乎不太可能基于它将具有相同的体系结构的事实.

将应用程序从Windows Phone地铁移植到Windows 8地铁也是多么容易?我们可以希望根本不可能改变代码吗?

由于其体系结构的相似性,即类似的应用程序生命周期和类似的受限API集,将WP7应用程序移植到Win8稍微容易一些.但是,肯定需要更改代码,请参阅本文,其中介绍了一个简单的跨平台Win8-WinRT/Silverlight应用程序.XAML UI元素位于不同的命名空间中,这对您的所有UI代码都有影响,XAML命名空间映射语法不同,因此您无法共享XAML.真的有点混乱.

有传言称WP8将使用相同的WinRT架构,这将使代码共享成为可能.但是,我认为这是不太可能的,微软已经引入了从WP6.5到WP7的重大架构变化,再次这样做会疏远开发人员.

  • "再做一次会疏远开发人员" - 只要SL仍然支持b/c,转换会长期简化并允许他们接受C++应用程序([最近在用户语音网站上"审核"](http ://wpdev.uservoice.com/forums/110705-app-platform/suggestions/1755203-native-sdk-to-support-c-development)).我认为这是长期更好的选择(对于性能,据我所知,因为XAML绑定是W8中的本机代码). (2认同)