苹果在今年的WWDC上介绍,Mac产品线将抛弃英特尔CPU改用自研ARM芯片,那时候,他们拿微软的Office套件作了演示。
几个月后,搭载苹果自研芯片M1的MacBook上市,只要开发者将iOS端的app也放到macOS的AppStore里,用户就能在电脑上运行原生移动端应用了。
macOS一下子成为了目前应用生态最丰富的桌面操作系统。
而依然占据市场主流的Windows,近几年却似乎没有拿出让消费者惊喜的更新,反而是在苹果生态里积极适配新应用,做起了「最佳iOS开发者」。和在系统统一上大步流星的苹果相比,微软就像是一头在原地打转的大象。
现在,这头大象似乎急了。
上月底,长期关注Windows的垂直媒体WindowsCentral发文称,有知情人士表示微软内部正在推行一个代号为「ProjectLatte」(拿铁)的计划,而这个计划的目的是让Windows10最早在明年原生运行Androidapp。
值得注意的是,「拿铁」支持的Androidapp运行,并不是通过双系统或者虚拟机(指是用代码虚拟一个硬件,让软件以为自己运行在Android手机上)的方式,而是在Windows10里内置一个子系统,用子系统运行Androidapp,相较于应用层(虚拟机)会消耗更少的资源,并且与系统锲合度更高。
那么,微软将如何实现这个应用移植的过程?最重要的是,微软为什么要这么做?
将两个平台的应用混合成「拿铁」
据WindowsCentral的消息,微软正在打造一个软件解决方案,在这个方案的助力下,开发者只要将他们的Androidapp打包成MSIX应用,然后提交到MicrosoftStore就可以了。也就是说,Android开发者几乎无需改动app就可以多扩展一个桌面平台。
对用户来说,如果适配工作顺利,我们就能在电脑本地上运行大量不提供web端的移动端应用,比如抖音和外卖应用。需要注意的是,这和Windows10之前支持的「YourPhone」实现原理完全不同。「YourPhone」同样也能让用户在PC的桌面上和Androidapp交互,但它本质上是「手机投屏」。
具体来说,用户可以使用手机屏幕镜像功能将屏幕映射到PC上,然后使用键鼠和触摸屏直接与app进行交互。而且,由于微软选择和三星深度合作,其他品牌的手机并不支持这项功能。如果「拿铁」推出,用户无需连接手机就能跑安卓应用。
说回「拿铁」的实现方式,微软将直接在Windows10内置一个运行Android的子系统。早在四年前,微软就曾在系统里内置了子系统Linux,系统名为:WindowsSubsystemforLinux(WSL)。在随后的更新中,用户可以直接通过MicrosoftStore下载子系统,而可选择的发行版也从最初的只有Ubuntu变成可以选择Suse、Ubuntu、Debian、甚至是用来进行网络安全工作KailLinux。这样一来,WSL补充了原本Windows10在开发领域上的一些不足,让开发人员可以以较低成本来实现与生成环境的一致性,也不用再为了开发而安装双系统甚至虚拟机了。
但和Linux相比,Android只能算是部分开源。完整的Android系统包含AOSP和Google移动服务(GoogleMobileService,GMS),前者为开源部分,但只包含了像邮件和电话这样的常用功能,后者为需要经过授权才能使用的Google「全家桶」,包括GoogleSearch、YouTube、Chrome、GooglePlay商店和各种云服务。GMS属于Android的闭源部分。另外,GMS中的API依托Google服务器运行。选择定位等API,能让开发者的app更加流畅地运行,也会更加省电。也就是说,在Windows上运行Android应用,接入不了Google服务,也可能不那么流畅和省电。
另外,Google并不允许PlayServices安装在Android手机和Chromebook之外的设备上,也就说,这些Android应用无法通过GooglePlay进行更新。
微软将如何解决这些移植应用的「不完整」,目前还不得而知。
五年前,微软就干过一样的事
早在2015年,微软就宣布了一个名为「ProjectAstoria」的方案,同样,Android开发者只需要将应用安装包拖拽到微软的转制后台上,就能立马运行在移动系统Windows10Mobile上。
对于当时的微软来说,Android应用的移植显然就是对Windows10Mobile极其匮乏的应用生态的无奈补救。但可惜的是,仅一年后,微软就放弃了ProjectAstoria,它在移动的战场上也败北了。
SurfaceNeo将搭载专门为它两块9英寸大小设计的化Windows10X|微软
五年后的今天,微软发布了基于Android系统的折叠双屏手机SurfaceDuo,这可以看作是它「讨好」Android的信号;另外还有将会延期一年上市的折叠双屏PCSurfaceNeo。
SurfaceNeo将搭载专门为它两块9英寸大小设计的Windows10X,鉴于现在Windows原生应用UWP的匮乏,移植过来的Android应用也能成为聊胜于无的补充。
之所以说「聊胜于无」,是因为基于Android平板开发的「大屏」应用同样匮乏,大部分Android应用仍是与小尺寸的手机高度绑定的,开发和操作的逻辑和桌面系统的交互必然存在很多不相容的地方。但如果开发者愿意为「桌面扩展」提供界面优化,配合比模拟器更高效的Android子系统运行,「拿铁」所带来的应用融合体验仍然让人期待。
在这些应用里,搬到桌面环境体验最好的应该就只有游戏了。到时,成为聚合这些Android游戏的平台方,同样可以依靠内容分发赚取利润。
更重要的,M1版MacBook的上市,强力推进了桌面生态必将和移动生态大一统的趋势。当macOS用户可以在桌面上跑iOS应用的时候,Windows用户或许会对微软提出跑Android应用的诉求:我可以不用,但不能没有。而微软同样也在做迁移到ARM的尝试,今年,配置了高通芯片的SurfaceProX上市。
而「拿铁」的意义或许就在于可以让Android开发者一同构建Windows未来的生态,而不是将当前Android的生态吸收到Windows中。开发者只要开发Androidapp就可以了,不需要多平台开发。
如果这个计划顺利,那么Windows10将成为一个在app支持方面几乎「通用」的操作系统。