Windows|macOS换用ARM来势汹汹 Windows10 ARM失败在哪里?( 二 )


而SwiftUI,其作用则在于为移动平台和桌面平台提供了跨平台的UI适配方案 。通过SwiftUI,开发者能用较为简单的代码,一次开发出适配多个平台的软件UI 。例如开发者想要为macOS和iOS、iPadOS做软件应用,那么通过SwiftUI就可以轻松做出能适配这几个平台应用的UI 。可以说,SwiftUI大大降低了为不同苹果平台开发软件应用的门槛,意义重大 。
Windows|macOS换用ARM来势汹汹 Windows10 ARM失败在哪里?
文章图片

SwiftUI可以让同一个应用的UI同时适配多个苹果平台
无论是Mac Catalyst还是SwiftUI,目前都已经投入了实战当中,通过新版的Xcode以及高质量的开发文档,每个苹果开发者都可以制作出基于新技术的高质量软件应用 。
很大程度上,苹果已经解决了新软件同时兼容X86/ARM、移动/桌面平台的开发问题 。请注意,这是在ARM版macOS发布之前做的工作,可谓是兵马未动粮草先行 。目前,苹果尚未发布ARM版Mac电脑,但为其配套的开发组件,却已相当完备了 。待到macOS真正迁移到ARM平台时,基于Mac Catalyst以及SwiftUI开发的软件应用早已经花繁叶茂,macOS迁移ARM其软件生态不至于会“休克” 。
步步为营的生态迁移
Mac Catalyst解决了代码在X86和ARM平台的编译问题,而SwiftUI则解决了移动平台和桌面平台的UI适配问题,但这是针对于新开发的软件应用的 。对于macOS旧有的软件,苹果也祭出了招数 。
在今年的WWDC大会,苹果宣布,将会为macOS平滑过渡到ARM平台,推出Rosetta 2中间转换层 。如果你是老果粉,对于Rosetta这个词一定很熟悉——苹果Mac电脑当年从IBM PowerPC架构,迁移到Intel X86平台,所使用的转换层正是Rosetta 。
Windows|macOS换用ARM来势汹汹 Windows10 ARM失败在哪里?
文章图片

Mac迁移平台这事,苹果已经干过一次了,当年Mac从PPC迁移到X86的兼容层被称为“Rosetta”
Rosetta 2的作用在于,它通过指令翻译,可以让ARM平台的macOS,直接运行绝大部分的X86软件 。而且Rosetta 2的性能还相当不错,它并不是在软件运行的时候,才翻译指令的,而是在软件安装时就做好了转换 。当然,这也并非说Rosetta 2可以实现性能完全无损,它对AVX指令兼容并不好,如果X86软件依赖AVX乃至AVX2,那么在ARM平台上由于没有对应的高性能指令,运行效率会有明显下滑 。并不是所有的软件都会用到AVX指令集,总体来说,Rosetta 2的性能还是可以接受的 。
Windows|macOS换用ARM来势汹汹 Windows10 ARM失败在哪里?
文章图片

这次Mac从X86迁移到ARM,Rosetta 2对旧有X86软件的兼容也起着至关重要的作用
和当年的Rosetta一样,Rosetta 2只是一个临时举措,它的意义在于为迁移到ARM平台提供平滑的过渡期 。我们可以参考一下Rosetta的进度:2005年苹果在WWDC宣布换用X86,接着苹果在2006年推出基于X86平台的Mac电脑并部署了Rosetta,到2009年苹果Mac OS X 10.6不再支持PowerPC的Mac,2011年Mac OS X 11.7不再支持Rosetta,放弃了对PowerPC时代Mac软件的支持 。从此以后,苹果Mac生态彻底转移到了X86平台,整个过程并未有太大的阵痛 。
从Rosetta的历程来看,macOS转移到ARM,旧有的X86软件也会经由数年的过渡兼容期 。在未来几年,我们或许也会看到新的macOS 11不再支持旧有X86 Mac电脑、在未来某个版本彻底不支持Rosetta 2这样的节点 。到最后,macOS 11上只剩下专为ARM开发的新软件,而届时ARM的软件应用也早已经琳琅满目 。
苹果相当清楚,新旧平台的更迭,绝非一蹴而几的事情 。苹果一方面通过SwiftUI和Mac Catalyst慢慢为ARM平台的Mac营造新生态,一方面通过Rosetta 2保持原有生态不流失,而且两方面的完成度都非常高,可谓两手都要抓、两手都要硬的典型 。加上此前从PowerPC到X86换平台的成功经历,人们对Mac换用ARM架构抱有极大期待,也就理所当然了 。
3Win10 ARM失败在哪里?
Win10 ARM失败在哪里?
在很多人的认知中,微软Windows系统向ARM进军的步伐,要比苹果macOS来得更早 。的确,微软在2012年就已经发布了用于ARM平台的Windows RT系统,并将其装载于第一代Surface平板电脑上 。而最近,微软更是将Windows 10桌面系统整个迁移到ARM上,目前市面上已经出现了基于骁龙处理器的Windows 10平板,而微软自身也推出了基于骁龙ARM平台的Surface Pro X 。
Windows|macOS换用ARM来势汹汹 Windows10 ARM失败在哪里?
文章图片

运行在ARM平台上的Windows RT系统
从推向市场的进度来看,微软无疑远远领先于苹果——macOS的ARM产品尚未见诸市面,而微软的ARM Windows产品已经开卖多时 。然而,这些产品并没有在市场上掀起太大波澜,Window RT已经宣告终结,而Surface Pro X等Windows 10 ARM产品,则落下了性能低下的坏口碑,并没有取得什么好的市场表现 。


推荐阅读