最近 macOS 11 以及 M1 芯片的横空出世,让很多人对苹果的生态整合能力再次发出了惊呼。macOS 11 能够兼容 iOS 平台的应用,这让苹果桌面和移动平台的生态得以互通互融,一举提升了 macOS 在生活娱乐方面的功力。

066aea8458da417ca842669f26ed201c.jpg

▲ macOS 11 能运行 iOS App

但实际上,想要打通移动平台和桌面平台的,并不止是苹果一家,甚至苹果称不上是先行者。在苹果之前,微软已经作了多次尝试,例如开发 WM、WP 移动平台,研发 . NET 跨平台开发技术,推行 UWP 这样的多平台通用应用等等。然而微软的努力,似乎没有在市场上取得太大的反响,WP 已经宣告终结,UWP 应用始终难成主流,微软在消费市场的势力,现在紧缩在 Windows 10 这个桌面平台周围。

然而微软终究是想要突围的。最近,传出了令人在意的消息:微软正在认真考虑,让 Windows 10 在 2021 年能够兼容安卓 App

0501cf32ea6d472a9b76820e31469cf9.jpg

▲ 最近 Win10 已经对手机投屏的安卓 App 做出了界面优化,这或许是为 Win10 原生兼容 App 做准备

苹果 macOS 兼容自家的 iOS App,这个操作我们能想象得到;微软 Win10 能运行同时兼容多平台的 UWP 应用,这个操作也不难理解;而现在 Win10 竟然打算兼容 Google 家安卓系统的 App,这打的到底是什么算盘?为了让 Win10 同时拥有桌面和移动平台的生态,微软如此做真的有必要吗?今天,一起来谈谈这个话题吧。

Win10 兼容安卓 App 到底是怎么回事?

首先要确认的是,Win10 将兼容安卓 App 的消息,是有可靠来源的。根据 Windows Central 的报道,该项目在微软内部被称之为 Latte,该项目将允许应用程序开发人员将他们的 Android 应用程序带到 Windows 10,几乎不需要修改代码。Win10 将会内置安卓子系统,以实现安卓 App 的兼容。

从技术上来看,Win10 兼容安卓 App,是可行的。如果你之前关注过 WP/Win10M 系统,那么应该知道微软曾经在 Win10M 中实现过安卓模拟器(Project Astoria),能够在 WP 手机中运行安卓 App。只不过由于效率等原因,并没有将相应版本正式推送给用户。但这也说明,微软其实早就在 Windows 系统中完成了对安卓 App 的兼容,随着硬件的进步,性能和续航的问题也将大为改善。

cca0f9357cb741c0be97132d25a309a6.jpg

▲ 微软之前在 WP/Win10M 移动平台上,也推出过兼容安卓 App 的企划

3dfa374c607d4808affc438f3466917f.jpg

▲ 当年的 Win10M,通过某些手段,是可以安装运行安卓 App 的

实际上,打算让安卓为自己生态输血的,并不止微软一家。安卓本身就是非常适合第三方对其进行匹配,尽管它来自 Google,但安卓本身分为开源的 AOSP(Android Open Source Project)安卓开源项目,以及闭源的 GMS(Google Mobile Service)部分。只要遵循相应的开源协议,任何人都可以通过 AOSP 来制作安卓的兼容层,例如 Sailfish 旗鱼系统,又例如最近的鸿蒙系统,都实现了对安卓 App 的兼容。

因此,无论从技术还是从商业的角度来看,Win10 兼容安卓 App 的确是没有问题的——AOSP 允许微软这么做,而微软也的确在 Win10M 中实现过类似特性。但是,这是否意味着在 Win10 中,安卓 App 就能够有完美的体验?恐怕未必。

前面提到,安卓系统分为开源的 AOSP 和闭源的 GMS 两部分。微软能使用的,是开源部分的 AOSP,但偏偏在 Google 的运营下,越来越大的安卓 App,需要一来 GMS 来运行。

17152f93a3f5497686797103933f6e4b.jpg

▲ 以 Google Play 服务为代表的 GMS,掌控着很多 App 的关键 API,无法兼容 GMS 则不能通过 CTS 兼容认证

在全球范围内,Google 通过掌控 Google Play 商店这个分发渠道,让越来越多的安卓 App 接入了 GMS 生态当中。例如 App 如果想要实现推送功能,它会使用 Google 的 GCM/FCM 推送;App 想要实现导航定位,它会接入 Google 地图;游戏想要联机,那么则会接入 Google Play 游戏…… 缺乏了 GMS,很多 App 的功能就会残缺,甚至 App 无法正常使用,这也是为何华为被禁止使用 GMS 后,在全球市场会遭遇重大挑战的原因。

而 Win10 兼容安卓 App 的项目 Latte,并不能使用 GMS 服务,在日后也不会有兼容 GMS 的希望——Google 从未授权非安卓系统,来使用 GMS。对于此,微软需要另辟蹊径,通过自建 API 来实现对 GMS 的替代。

Win10 兼容安卓 App 意欲何为?

微软让 Win10 兼容安卓 App,在很多朋友的眼中,似乎是一种 “资敌”行为——让自家系统也成为安卓生态的土壤,这是不是太过慷慨?微软自然不可能在做公益,实际上,微软对生态的运作,近年一直以 “跨平台”、“卖服务”为中心,Win10 兼容安卓 App,也是这一思路的产物。

如果你经常关注微软的产品,不难发现,微软几乎成为了各大平台的 “最佳开发者”。在 iOS、安卓乃至最为直接竞争的 macOS 平台上,微软都开发了大量高质量的软件应用。像 Office、OneDrive 等王牌软件,微软都不遗余力地将其发布到其他平台上,甚至比自家的 WP 平台更上心。

37eb4542d80843beb94a074994a6f7a9.jpg

d78339f502ff4b61afd822b14933ac2c.jpg

▲ 这是 WP/Win10M 宣告死亡时,微软在 Play 商店发布的安卓 App,比自家平台还更加上心

微软这样做,目的是显而易见的——让自己的产品覆盖尽量多的平台,接而完成从 “产品”到 “服务”的转型。通过诸多产品,无论你使用的是什么平台,都可以接触到整套微软提供的服务。使用安卓也好,iOS 也好,都可以通过上面的 Office 编辑文档,通过 Outlook 同步账户发送邮件,通过 OneDrive 管理数据,这时候,用的是什么平台,就不那么重要了。

Win10 兼容安卓 App,也可以起到类似的作用,但又有所不同。这时候,不再是由微软应用来服务平台,而是用 Win10 这个平台来服务应用。尽管安卓 App 的开发是由 Google 来主导,但只要它们能在 Win10 中运行,用户愿意在 Win10 中使用安卓 App,那么用户就不可避免地会接触到 Win10 内置的微软服务。从这个角度来看,Win10 相当于一个集微软服务于一身的终端,能够兼容更多类型的应用软件,自然也就增加了微软服务的吸引力——目前 Win10 就内置 “我的手机”,可以通过连接安卓手机来运行安卓 App,让 Win10 成为安卓机的一个服务终端。而未来 Win10 直接能原生运行安卓 App,只是节省了必须连接安卓机这个步骤而已。

146782ff5dfd4adca09500d7cd350e1a.jpg

▲ Win10 中 “我的手机”运行安卓 App 的效果

让 Win10 兼容安卓 App,并不是微软这一思路的唯一成果。例如,微软就已经通过 WSL,让 Win10 兼容原生 Linux 系统,Linux 开发者可以直接使用 Win10 来工作;又例如,Edge 浏览器放弃了自研内核转用 Chromium,获得了完全兼容 Chrome 扩展程序的能力,结果我们也看到了,Edge 浏览器从 Chrome 手中抢过了大片份额,越来越多人接触到了微软在 Edge 浏览器中植入的笔记、记录同步等服务。

4659a5da880b4e0abf2e1f6057d9c9a9.jpg

▲ Win10 中的 WSL,让 Linux 开发者能够在 Win 平台下进行 Linux 开发,增加对微软服务的接触机会

简而言之,Win10 拥有自己的生态,这固然重要;但 Win10 是否能兼容其他生态、让微软的服务渗透到更多用户当中去,也很重要。应用的虚拟化、跨平台在未来是大趋势,在微软缺乏移动平台这个重要立足点的现状下,微软更加激进地推行了用一个 Win10 系统、兼容多种平台生态的策略,也是一种合理的选择。

总结

微软让 Win10 兼容安卓 App,乃至更多平台的应用,这无疑可以增强 Win10 的竞争力,让微软服务覆盖到更多用户当中。但这也会带来其他一些问题,例如微软能否建立起一套足够完善的 API,用以取代安卓 App 所需要的 GMS?就如同正在起步的华为 HMS 一样?又例如安卓 App 并不是为桌面环境所准备,Win10 要如何确保它们依然能获得良好的体验?触屏电脑的普及真的能解决这个问题吗?这都是有待观察的。

无论如何,Win10 兼容安卓 App 的确是一个很有趣而且颇有意义的尝试,让我们期待 Win10 正式上线这一特性吧。