仅在ARM上使用Metro的案例

Jesper提出了这个案子微软将允许桌面(即传统)在基于ARM的Windows 8计算机上运行的Windows应用程序:

Microsoft’s position on the environment duality is that the desktop half won’t even be loaded until you use it initially. Metro apps run in a new environment with more rapacious process and power management and may not unto itself mean doom for battery usageWith this in mind, Microsoft gets the chance to tout the only alternative that remains fully a tablet OS as long as you only do tablety thingsthat can be talked into running Office when the need arises.

阅读整篇文章他的看法是合理的如果是Windows 8在ARM机器上支持经典的非Metro应用程序,这些都是原因所在。

但是这里有其他我认为,有充分的理由说明为什么微软应该干净利落地切断电源线并在ARM上使用Metro。

首先,无论微软决定做什么,都会产生混淆Windows 8将支持两种不同的CPU架构:x86(a.k.a“英特尔”)和ARM相同的操作系统,两种不同的CPU架构 - 就像Mac OS X同时支持PowerPC和Intel一样但是,当苹果转向英特尔时,它们包括Rosetta,这是一个仿真层,允许现有的PowerPC应用程序在新的英特尔机器上运行,而不会被应用程序的开发人员重新编译微软明确排除了ARM的这种仿真层 - x86编译的应用程序无法在ARM上的Windows 8上运行What’s in question is whether existing Windows apps will be able to be recompiled/ported by the developers to run natively on ARM; if not, Windows on ARM will only support Metro apps.

所以不可避免的混乱是,无论哪种方式,现有的x86编译的Windows应用程序都不会在ARM机器上运行基于英特尔的Windows 8机器将运行一切基于ARM的Windows 8计算机将仅运行新的针对ARM编译的应用程序在任何一种情况下,都会有一些应用程序在基于Intel的Windows 8计算机上运行,​​但不能在基于ARM的计算机上运行。

普通人不了解CPU架构或二进制指令集是什么无论如何,这里都会有混乱但是每个人都能够理解旧式Windows桌面应用程序和新式Metro应用程序之间的区别看看他们吧。

在仅适用于ARM的Metro方案中,Metro应用程序在所有计算机上运行,​​而经典Windows应用程序仅在Intel计算机上运行在for-classic-apps-to-to-compomp for-ARM场景中,Metro仍然可以在所有机器上运行,但用户需要知道经典Windows应用程序编译的CPU架构是什么因此,微软的选择是:(a)要求用户区分经典和Metro应用程序之间的区别,或者(b)要求用户区分已经为ARM重新编译的经典应用程序和仅限于Intel的经典应用程序之间的区别。

这些CPU转换很难对于应用程序开发人员来说,它很少涉及在编译器中翻转开关看看Mac OS X,以及向英特尔的过渡即使是现在,在宣布过渡六年之后,有些常用的应用程序无法在Lion上使用因为它们仍然是PowerPC(并且Lion不再包括Rosetta)。

苹果还有另一个优势,微软不会:2006年苹果公司进行了长达数月的单向转型一旦启动,英特尔机器就是新机器,PowerPC机器就是旧机器非技术用户可能无法理解PowerPC和Intel二进制文件(或支持这两种体系结构的Universal二进制文件)之间的区别,但他们确实理解旧软件最终会停止工作。

Microsoft isn’t switching from Intel to ARM; they’re adding ARM as a second supported architecture目前的计划是明年推出全新的Windows 8平板电脑(也许是笔记本电脑),其中一些是基于英特尔的,其中一些是基于ARM的我认为最小化混淆的最简单方法是将基于ARM的Windows机器推向“仅限Metro”英特尔获得经典的Windows和Metro应用程序,ARM获得Metro。

'必须'节拍'应该'

正如Jesper指出的那样微软承诺即使在支持经典Windows软件的英特尔机器上,如果你不启动Windows桌面,也不会加载任何代码,你将获得Metro非传统设计的性能优势。

但人类并非完全理性在理想的世界中,这种设置会起作用每个人都会尽快加入Metro,并在必要时提供经典的Windows桌面但是开发人员是人类,因此具有走向阻力最小的道路的自然倾向开发人员更有可能承担更多工作(在这种情况下,完全重写和重新设计Metro应用程序,而不是仅仅重新编译经典应用程序)必须而不仅仅是应该

考虑FlashApple提供了两个平台,这两个平台都不支持Flash Player:Mac OS X和iOS在Mac上,用户可以自行安装Flash在iOS上,他们不能有更多的网站和在线服务开展了支持iOS的非Flash解决方案 - 通过App Store或开放式网络标准 - 比Mac更多。1

MLB拥有(优秀)原生应用程序,可在iPhone和iPad上观看现场棒球比赛在Mac上,他们需要用户安装FlashNetflix有一个很好的iPhone和iPad应用程序在Mac上,它们要求用户安装Silverlight我可以列出几十个类似的例子。

Microsoft will not (and should not — it’d be suicidal) go Metro-only on all platforms with Windows 8但是,如果他们只使用Metro-only部分Windows 8机器 - 引人注目的基于ARM的机器提供iPad式价格和电池寿命优势 - 它将极大地鼓励开发人员编写Metro应用程序消息可能或多或少,“Windows 8支持各种各样的硬件,Metro可以随处运行但我们最先进的移动硬件设计仅限Metro。

否则,开发人员会想太多,当我可以为ARM上的经典Windows桌面重新编译它时,为什么要重写和重新设计我的整个应用程序?

微软很可能会采用这种方式,但如果他们这样做,我认为它会阻碍开发者对Metro的支持。


  1. 值得注意的是,微软在Windows 8上面临与Flash Player相同的问题在Metro中,IE将不支持任何插件,但IE的桌面版本将支持Websites will be much more likely to serve web standards-based content to Metro users if they don’t have the option to tell Metro users to switch to the desktop version of IE in order to view Flash content. ↩︎

以前: 地铁
下一个: 秋季活动