0

或许微软真的错了,全端 App 的时代要到来了

 2 years ago
source link: https://zhuanlan.zhihu.com/p/387563364
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

或许微软真的错了,全端 App 的时代要到来了

公众号「非著名程序员」主理人,程序员/复业者/生涯规划师

文章首发于微信公众号「非著名程序员」,欢迎大家关注。

大家好,我是校长。

今天咱们大家一起聊一个有意思的话题,这个概念是我从阮一峰老师的公众号看到的,我感觉很有探讨的价值。

上周不是微软发布了 Windows 11 吗?最让大家出乎意料的是,Windows 11 可以运行安卓 App。而在此之前,我们都知道苹果去年推了 M1 芯片,运行 M1 芯片的 Mac 电脑上也早开始可以运行 iOS 端的 App 了。

所以,在阮一峰老师看来,微软一定是看在眼里,急在心里,绝不能让 Windows 输给 Mac。所以,这次匆匆忙忙就支持了安卓。微软甚至来不及做自家的安卓应用商店,用户必须先安装亚马逊应用商店(下图),才能用上这个功能。微软就是急到这种程度,宁愿白白用自己的最新系统为别人引流。

v2-b634a90ed2af8bcc2e2b6db6b246baa1_720w.jpg

针对此现象,所有的 App 都支持在 PC 端电脑上运行,所以,阮一峰老师有一个灵魂的发问:

手机 App 可以运行在桌面电脑,对于软件开发有什么影响呢?那以后,我们还有必要开发桌面版软件吗?

所以,阮一峰老师的观点是:除了少数桌面专用软件,其他软件只要让手机 App 适配一下电脑,就不用发布专门的 Windows 版或 Mac 版了。

这么一想,也对,比如:

我们在手机端使用微信,到了桌面端,在电脑上,我们不用再单独下载桌面版的微信了,可以直接在应用商店下载手机版的微信,运行在桌面上。真的是没必要单独安装电脑版的软件了。

对此,阮一峰老师提出了一个新的概念,叫:「全端 App 时代」

App 开发将从多端并存,进入全端时代。

这样导致的后果就是:手机 App 会吃掉其他客户端,变得越来越重要;桌面 App 将会衰落,开发需求进一步变小。

我总感觉微软这步棋走错了,苹果可以这么走,因为人家都在自家的生态体系里。你这么干,岂不是让谷歌生态体系入侵到自家的微软生态体系里了吗?

大家对此是怎么看的呢?

我们作为工程师,程序员,应该经常听到这么一个概念:跨平台开发,也就是「一次编码,到处运行」(Write Once,Run Anywhere)

但是,未来可能就不用讲究这个了,为什么?因为不需要代码去适配各种终端,也不用针对一套代码,去编译多次了。未来,是系统和终端来适配软件,而不是软件去适配终端和系统了。

未来,真的是可以做到「Write Once,Run Anywhere」,写一次代码,可以运行到各种地方了。而且,不需要特别适配。

这让我想起了《黑客与画家》上面的观点:

在《黑客与画家》中,作者保罗・格雷厄姆讲到:

无论一百年后的计算机是什么样子,我们基本上可以断定它们的运行速度一定会快得多。如果摩尔定律依然成立,一百年后计算机的运行速度将是现在的 74 乘以 10 的 18 次方倍(准确地说是 73 786 976 294 838 206 464 倍)。真是让人难以想象。不过实际上更现实的预测并不是速度会提高这么多,而是摩尔定律最终将不成立。不管是什么东西,如果每 18 个月就增长一倍,那么最后很可能会达到极限。但那时的计算机比现在快得多大概是毫无疑问的。即使最后只是略微快了 100 万倍,也将实质性地改变编程的基本规则。如果其他条件不变,现在被认为运行速度慢的语言(即运行的效率不高)将来会有更大的发展空间。

既然在现实中一些应用程序本身的效率较低,而另一些应用程序会耗尽硬件提供的所有运算能力,那么有了更快速的计算机就意味着编程语言不得不应付更多的极端情况,涵盖更大范围的效率要求。我们已经看到这种情况发生了。要是以几十年前的标准衡量,有一些使用新语言开发的热门应用程序对硬件资源的浪费非常惊人。

不仅编程语言有这种现象,这实际上是一种普遍的历史趋势。随着技术的发展,每一代人都在做上一代人觉得很浪费的事情。30 年前的人要是看到我们今天如此随意地使用长途电话,一定会感到震惊。100 年前的人要是看到一个普通的包裹竟然也能享受一天内从波士顿发件、途经孟菲斯、抵达纽约的待遇,恐怕就要更震惊了。

我已经预测了,一旦未来硬件的性能大幅提高将会发生什么事。新增加的运算能力都会被糟蹋掉。

看到保罗・格雷厄姆说的,是不是有一点恍然大悟,或者是这么个道理的感觉?所以说:随着 CPU 等各种硬件性能的提升,语言之间带来的一些性能差,慢,都会被硬件提升所抵消,甚至在以后让你都感觉不到了,即使语言性能很差,但是硬件的提升,还会让你感觉有些硬件性能过剩,语言这么烂,都干不过硬件。

虽然,保罗・格雷厄姆说:随着硬件性能的快速提升和发展,对语言的运行效率要求会越来越低,所以,会出现一些不讲究,不在乎运行效率的跨平台开发语言,从而实现「Write Once,Run Anywhere」,比如:之前比较火的 RN ,Flutter 等。

但是,就目前来看,现实比保罗・格雷厄姆说还好,由于硬件的发展,大家都在想办法在兼容和运行支持 App,这样,我们工程师真的是省力气了,只需要开发一个 App ,就可以运行在桌面上了,不需要再特别开发桌面版了。

所以,大家认为「全端 App」是未来的方向吗?你们怎么理解这个趋势呢?欢迎大家在留言区,留言一起讨论。

看这里,好东西:

文章首发于微信公众号「非著名程序员」,欢迎大家关注,关注之后,即可查看系列生财思维和副业赚钱的文章,超多干货,值得你去一探究竟。打开微信,使用 “搜一搜”,搜索「非著名程序员」,即可关注。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK