全文来自:阮一峰的科技爱好者周刊

上周,微软发布了 Windows 11。最出人意料的是,它可以运行安卓 App

仔细想想也不意外,苹果去年推出 M1 芯片,所有的 iPhone App 现在都能在 Mac 电脑上运行。

微软一定是看在眼里,急在心里,绝不能让 Windows 输给 Mac。所以,这次匆匆忙忙就支持了安卓。

他甚至来不及做自家的安卓应用商店,用户必须先安装亚马逊应用商店(下图),才能用上这个功能。微软就是急到这种程度,宁愿白白用自己的最新系统为别人引流。

我问大家一个问题:手机 App 可以运行在桌面电脑,对于软件开发有什么影响呢?

显然,直接影响就是一条, 以后还有必要开发桌面版软件吗? 除了少数桌面专用软件,其他软件只要让手机 App 适配一下电脑,就不用发布专门的 Windows 版或 Mac 版了。

举例来说,Windows 运行微信,现在必须安装单独的 Windows 版,以后直接安装手机版可能就行了。对于用户来说,体验完全一致,不会有功能缺失;对于腾讯来说,可以少养一个团队,也不用操心跨平台移植的复杂性了。

以前,所谓的跨平台软件,指的是一套代码可以到处运行,但是必须每个平台单独编译一次,Java、 Go、Electron 都是这样。现在倒好了,连编译都省掉了,同一个程序不用修改,直接跑在手机、平板、桌面电脑上面,简直是软件开发者的终极梦想和福音。

所以,Windows 的这个新功能,使得手机 App 的市场一下子扩大到了桌面电脑,这尤其对于小团队是重大利好。

我的结论就是, App 开发将从多端并存,进入全端时代。 手机 App 会吃掉其他客户端,变得越来越重要;桌面 App 将会衰落,开发需求进一步变小。

不过,这是一个长期的过程,还有很长的路要走。根据报道,微软这一次采用了英特尔公司的桥接技术,让 x86 架构的 CPU 可以解释 ARM 指令,听上去很像是即时编译。但是那样的话,要是 App 用到了谷歌服务框架,应该怎么处理呢?另一方面,谷歌的 ChromeOS 系统,早就实现了在 x86 CPU 上运行安卓 App(通过一个虚拟层),性能挺差的,体验也不好(比如窗口无法放大,很多操作不支持鼠标)。

但是不管怎样,全端 App 肯定是未来的方向,上面这些问题,相信最终都可以解决,尤其对于苹果的设备,硬件的兼容问题是不存在的。

我建议,程序员朋友可以多关注这个方向,手机 App 如何适配桌面大屏幕,这可能是下一个热点领域。

你怎么看?


↙↙↙阅读原文可查看相关链接,并与作者交流