【问题标题】:Will Windows 8 Metro apps require any change to the code in order to work on ARM based devices?Windows 8 Metro 应用程序是否需要对代码进行任何更改才能在基于 ARM 的设备上运行?
【发布时间】:2012-02-04 17:20:31
【问题描述】:

据我了解,运行时的 Metro 部分不依赖于 x86 处理器架构和本机代码,并且无需对 x86 平板电脑或 ARM 平板电脑上的代码进行任何更改即可工作。这是正确的吗?

另外,将应用程序从 Windows Phone Metro 移植到 Windows 8 Metro 有多容易?我们是否可以希望根本没有更改代码的可能性?

同样,XBOX 呢?是否有机会将 Windows 8/Windows Phone Metro 应用程序轻松移植到新的 XBOX Metro 环境中?

【问题讨论】:

  • Xbox Metro 环境尚未对第三方应用开​​放(..尚未?)至于 ARM 到 x86 的变化,可能几乎没有 - 唯一潜在的缺陷是特定的低级架构 /与硬件相关的图形。除非您依赖特定的处理器挂钩,否则应该没问题。 Metro 应用程序/界面的全部目的是可移植性。鉴于微软声明常规的“桌面”应用程序在默认情况下无法运行,似乎在同一个原因上,metro 应用程序将跨硬件运行(通常)。

标签: windows windows-phone-7 windows-8 windows-runtime microsoft-metro


【解决方案1】:

Windows 8 有something of a split personality,架构如下图:

左侧是较新的 Metro 风格/WinRT 架构,而右侧是较旧的 Win32/.NET 架构。 widely reported ARM 平板电脑将仅支持 Metro / WinRT 架构。没有迹象表明 ARM 设备需要不同的代码,这似乎不太可能,因为它具有相同的架构。

另外,将应用程序从 Windows Phone Metro 移植到 Windows 8 地铁?我们能否希望根本不更改代码是 可能性?

将 WP7 应用程序移植到 Win8 会稍微容易一些,因为它们的架构相似,即类似的应用程序生命周期和类似的受限 API 集。但是,肯定需要更改代码,请参阅这篇介绍 simple cross-platform Win8-WinRT / Silverlight 应用程序的文章。 XAML UI 元素位于不同的命名空间中,这会影响您的所有 UI 代码,XAML 命名空间映射语法不同,因此您不能共享 XAML。确实有点乱。

有传言称 WP8 将使用same WinRT architecture,这将使代码共享成为可能。不过,我认为这不太可能,微软已经在 WP6.5 到 WP7 中引入了重大的架构更改,再次这样做会疏远开发人员。

【讨论】:

  • “再做一次会疏远开发人员”——只要 b/c 仍然支持 SL,这种过渡将长期简化事情并允许他们接受 C++ 应用程序 (recently made "under review" on the uservoice site)。从长远来看,我认为这是更好的选择(据我了解,对于性能而言,因为 XAML 绑定是 W8 中的本机代码)。
  • 我认为应该为 Windows Phone 采用 WinRT 版本以实现生态系统内的统一,这是唯一合乎逻辑的事情。尽管这对于 Windows 应用商店中已有的 50,000 多个应用程序意味着什么,但它们并未针对 WinRT Metro 进行编程,因此为了让它们继续为 Windows Phone 使用的当前类似 silverlight 的框架提供某种遗留支持,必须在场。微软确实做了一个嘘声,市场催促他们发布一个移动平台,而 WinRT 当时可能还在设计阶段,即使那样。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-13
    • 1970-01-01
    相关资源
    最近更新 更多