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