本文来自cnBeta
最近macOS 11以及M1芯片的横空出世,让很多人对苹果的生态整合能力再次发出了惊呼。macOS 11能够兼容iOS平台的应用,这让苹果桌面和移动平台的生态得以互通互融,一举提升了macOS在生活娱乐方面的功力。
macOS11能运行iOS App
但实际上,想要打通移动平台和桌面平台的,并不止是苹果一家,甚至苹果称不上是先行者。在苹果之前,微软已经作了多次尝试,例如开发WM、WP移动平台,研发。NET跨平台开发技术,推行UWP这样的多平台通用应用等等。然而微软的努力,似乎没有在市场上取得太大的反响,WP已经宣告终结,UWP应用始终难成主流,微软在消费市场的势力,现在紧缩在Windows 10这个桌面平台周围。
然而微软终究是想要突围的。最近,传出了令人在意的消息:微软正在认真考虑,让Windows 10在2021年能够兼容安卓App!
最近Windows 10已经对手机投屏的安卓App做出了界面优化,这或许是为Windows 10原生兼容App做准备
苹果macOS兼容自家的iOS App,这个操作我们能想象得到;微软Windows 10能运行同时兼容多平台的UWP应用,这个操作也不难理解;而现在Windows 10竟然打算兼容Google家安卓系统的App,这打的到底是什么算盘?为了让Windows 10同时拥有桌面和移动平台的生态,微软如此做真的有必要吗?今天,一起来谈谈这个话题吧。
Windows 10兼容安卓App到底是怎么回事?
首先要确认的是,Windows 10将兼容安卓App的消息,是有可靠来源的。根据Windows Central的报道,该项目在微软内部被称之为Latte,该项目将允许应用程序开发人员将他们的 Android 应用程序带到 Windows 10,几乎不需要修改代码。Windows 10将会内置安卓子系统,以实现安卓App的兼容。
从技术上来看,Windows 10兼容安卓App,是可行的。如果你之前关注过WP/Windows 10M系统,那么应该知道微软曾经在Windows 10M中实现过安卓模拟器(Project Astoria),能够在WP手机中运行安卓App。只不过由于效率等原因,并没有将相应版本正式推送给用户。但这也说明,微软其实早就在Windows系统中完成了对安卓App的兼容,随着硬件的进步,性能和续航的问题也将大为改善。
微软之前在WP/Windows 10M移动平台上,也推出过兼容安卓App的企划
当年的Windows 10M,通过某些手段,是可以安装运行安卓App的
实际上,打算让安卓为自己生态输血的,并不止微软一家。安卓本身就是非常适合第三方对其进行匹配,尽管它来自Google,但安卓本身分为开源的AOSP(Android Open Source Project)安卓开源项目,以及闭源的GMS(Google Mobile Service)部分。只要遵循相应的开源协议,任何人都可以通过AOSP来制作安卓的兼容层,例如Sailfish旗鱼系统,又例如最近的鸿蒙系统,都实现了对安卓App的兼容。
因此,无论从技术还是从商业的角度来看,Windows 10兼容安卓App的确是没有问题的——AOSP允许微软这么做,而微软也的确在Windows 10M中实现过类似特性。但是,这是否意味着在Windows 10中,安卓App就能够有完美的体验?恐怕未必。
前面提到,安卓系统分为开源的AOSP和闭源的GMS两部分。微软能使用的,是开源部分的AOSP,但偏偏在Google的运营下,越来越大的安卓App,需要一来GMS来运行。
以Google Play服务为代表的GMS,掌控着很多App的关键API,无法兼容GMS则不能通过CTS兼容认证
在全球范围内,Google通过掌控Google Play商店这个分发渠道,让越来越多的安卓App接入了GMS生态当中。例如App如果想要实现推送功能,它会使用Google的GCM/FCM推送;App想要实现导航定位,它会接入Google地图;游戏想要联机,那么则会接入Google Play游戏……缺乏了GMS,很多App的功能就会残缺,甚至App无法正常使用,这也是为何华为被禁止使用GMS后,在全球市场会遭遇重大挑战的原因。
而Windows 10兼容安卓App的项目Latte,并不能使用GMS服务,在日后也不会有兼容GMS的希望——Google从未授权非安卓系统,来使用GMS。对于此,微软需要另辟蹊径,通过自建API来实现对GMS的替代。
Windows 10兼容安卓App意欲何为?
微软让Windows 10兼容安卓App,在很多朋友的眼中,似乎是一种“资敌”行为——让自家系统也成为安卓生态的土壤,这是不是太过慷慨?微软自然不可能在做公益,实际上,微软对生态的运作,近年一直以“跨平台”、“卖服务”为中心,Windows 10兼容安卓App,也是这一思路的产物。
如果你经常关注微软的产品,不难发现,微软几乎成为了各大平台的“最佳开发者”。在iOS、安卓乃至最为直接竞争的macOS平台上,微软都开发了大量高质量的软件应用。像Office、OneDrive等王牌软件,微软都不遗余力地将其发布到其他平台上,甚至比自家的WP平台更上心。
这是WP/Windows 10M宣告死亡时,微软在Play商店发布的安卓App,比自家平台还更加上心
微软这样做,目的是显而易见的——让自己的产品覆盖尽量多的平台,接而完成从“产品”到“服务”的转型。通过诸多产品,无论你使用的是什么平台,都可以接触到整套微软提供的服务。使用安卓也好,iOS也好,都可以通过上面的Office编辑文档,通过Outlook同步账户发送邮件,通过OneDrive管理数据,这时候,用的是什么平台,就不那么重要了。
Windows 10兼容安卓App,也可以起到类似的作用,但又有所不同。这时候,不再是由微软应用来服务平台,而是用Windows 10这个平台来服务应用。尽管安卓App的开发是由Google来主导,但只要它们能在Windows 10中运行,用户愿意在Windows 10中使用安卓App,那么用户就不可避免地会接触到Windows 10内置的微软服务。从这个角度来看,Windows 10相当于一个集微软服务于一身的终端,能够兼容更多类型的应用软件,自然也就增加了微软服务的吸引力——目前Windows 10就内置“我的手机”,可以通过连接安卓手机来运行安卓App,让Windows 10成为安卓机的一个服务终端。而未来Windows 10直接能原生运行安卓App,只是节省了必须连接安卓机这个步骤而已。
Windows10中“我的手机”运行安卓App的效果
让Windows 10兼容安卓App,并不是微软这一思路的唯一成果。例如,微软就已经通过WSL,让Windows 10兼容原生Linux系统,Linux开发者可以直接使用Windows 10来工作;又例如,Edge浏览器放弃了自研内核转用Chromium,获得了完全兼容Chrome扩展程序的能力,结果我们也看到了,Edge浏览器从Chrome手中抢过了大片份额,越来越多人接触到了微软在Edge浏览器中植入的笔记、记录同步等服务。
Windows 10中的WSL,让Linux开发者能够在Win平台下进行Linux开发,增加对微软服务的接触机会
简而言之,Windows 10拥有自己的生态,这固然重要;但Windows 10是否能兼容其他生态、让微软的服务渗透到更多用户当中去,也很重要。应用的虚拟化、跨平台在未来是大趋势,在微软缺乏移动平台这个重要立足点的现状下,微软更加激进地推行了用一个Windows 10系统、兼容多种平台生态的策略,也是一种合理的选择。
总结
微软让Windows 10兼容安卓App,乃至更多平台的应用,这无疑可以增强Windows 10的竞争力,让微软服务覆盖到更多用户当中。但这也会带来其他一些问题,例如微软能否建立起一套足够完善的API,用以取代安卓App所需要的GMS?就如同正在起步的华为HMS一样?又例如安卓App并不是为桌面环境所准备,Windows 10要如何确保它们依然能获得良好的体验?触屏电脑的普及真的能解决这个问题吗?这都是有待观察的。
无论如何,Windows 10兼容安卓App的确是一个很有趣而且颇有意义的尝试,让我们期待Windows 10正式上线这一特性吧。