作者 |Clement Brian 译者 | 弯月

出品 | CSDN(ID:CSDNnews)

万物有开始就有结束。而如今 PHP 也步入了暮年。在这个时代,长盛不衰的唯一方法就是无可取代。

一门技术如非必不可少,就会被慢慢遗忘。PHP 不仅可有可无,而且会加剧开发工作的复杂性。与之相比,许多现代语言的表现更为出众。

这些现代语言没有 PHP 的局限性。虽然 PHP 在不断更新,但未达到领先水平。我并不讨厌这门编程语言,只是想通过本文分析一下为什么 PHP 会走上末路。
在这里插入图片描述

1.死亡逼近

在为项目选择技术之前,首先我们需要做一件重要的事情:分析该技术的发展趋势。
如果你的目标是在未来几年中加速项目的发展,那么分析技术的发展趋势会非常有价值。长期项目需要选择正确的技术。你不希望有朝一日被困在一个逐步衰亡且缺乏支持的技术中。下图来自 Google 的趋势分析,为我们展示了过去十多年间 PHP 的发展。
在这里插入图片描述

我们可以看出,在过去的十年中,PHP 一直在走下坡路,如今几乎已跌至谷底。下面是来自 TIOBE 指数的一个趋势图。
在这里插入图片描述

很明显 PHP 日渐式微。如今还有一些流行的基础设施在使用 PHP,这是因为这些基础设施都是在 PHP 发展的高峰期或上升期(2001年~2010年)构建的。WordPress 和维基百科就是典型的例子。

如果想构建复杂的系统,我们就不能依赖这门语言。更糟糕的是,我们更不能依赖一门正在走向衰亡的语言,即便我们的前辈在 PHP 崛起和顶峰时期选择了这门语言。
就 2022 年的形式来看,为项目选择 PHP 不再是一个明智之举,除非是暂时的。如果你非常注重项目的发展,则应该选择一种现代语言。一种正在上升或达到顶峰期的语言。这不仅可以保证将来的安全,而且也可以保证项目的持续生存和增长。

2.Node.js 正在慢慢取代 PHP

新一代的程序员不会选择学习 PHP 语言,他们会选择 node.js。而这些人将主宰未来的网络。
他们了解使用两种语言的难度,而且也清楚 PHP 的缺点。他们知道掌握 PHP 并不会给自己带来最大价值。
招聘人员也意识到了这一点。他们中的许多人正在慢慢地用 node.js 或其他替代方案替换 PHP。
转换领域(比如以前是游戏开发人员,如今想涉足 Web 开发)的资深程序员也不会选择学习 PHP。他们中的大多数人都选择了 Node.js。
下面这张图比较了 PHP 与 Node.js、Django 等其他后端框架。
在这里插入图片描述

Django 还很年轻,未来可期。我知道它还没有完全发展成熟。但未来它可能会成为一头野兽。它的发展并不会减弱。
在这里插入图片描述

Node.js 获得的关注度高于 Django。显然,很多人都很喜欢它。但相似的是,这两个框架都在增长。未来它们都会变得非常强大。
这些框架以及 Rust、Go 等其他现代语言都可以说比 PHP 更好。
它们消灭了 PHP 的缺点,拥有系统的架构,而且组织非常有条理,因此比 PHP 更可靠。

3.技术栈已改变

世界正在慢慢向 Web 3.0 迈进。未来 Web 将由云解决方案和机器学习主导。
目前,我们仍处于 Web 2.0,而 Django 和 Node.js 等语言非常适合这种过渡。
Django 特别擅长基于 AI 的 Web 应用程序、分析应用程序、实时应用程序修改,并且具有高度可扩展性。
Node.js 的开发效率非常高,而且非常适合实时发送数据,不仅速度非常快,而且还可以保证服务器的持续回调。
这些领域非常关键,却也是PHP的欠缺。因此,Django、Node.js、Rust 和其他现代技术更适合未来的发展。
此外,技术栈也发生了变化。曾几何时LAMP是最流行的技术栈。使用超过了10年,因为这个技术栈非常简单、可靠且稳定,因此深受开发人员的喜爱。
而如今我们有 MEAN、MERN、MEVN 以及由 AWS Lambda 和谷歌云等云平台提供支持的无服务器栈。很明显 MERN 以及其他亲属分支已经打败了LAMP。
此外,我们还有其他技术,如 Ruby on Rails 和 Flutter,可用于创建跨平台应用程序。当开发速度成为项目的首要因素时,就可以考虑这些技术栈。

4.PHP 无法融入移动电话和平板电脑等便携式设备的未来

如今 Web 的已由手机和平板电脑主导,无论走到哪里,我们都会随身携带手机。
目前大部分网络流量皆来自移动设备。普通人花费在手机上的时间比在任何其他设备上都要多。
各大公司的服务纷纷从 Web 转移到了移动应用程序。这导致眼下以及将来势必涌现大量大规模的迁移。
简而言之,这对移动应用程序开发人员来说是个好消息。
然而,坏消息是 PHP 不是此次迁移的一部分。PHP 不适合移动应用程序。而 PHP 的建立初衷也不在于此。它是一种面向 Web 服务器端的编程语言。
另一方面,Django 和 Node.js 则非常适合移动应用程序。未来,两者都有可能在在移动应用中占据很大一块份额。Django 已朝着这个方向迈出了一大步:它为世界上访问量排名第六的网站 Instagram 提供了支持。

原文链接:https://levelup.gitconnected.com/php-is-dying-a3805e23a3b8

Logo

20年前,《新程序员》创刊时,我们的心愿是全面关注程序员成长,中国将拥有新一代世界级的程序员。20年后的今天,我们有了新的使命:助力中国IT技术人成长,成就一亿技术人!

更多推荐