整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

JavaScript 时代,我们又回到了 PHP 吗?

近,我读到了一位国外程序员的文章,他提出了一个有趣的问题:在 JavaScript 时代,我们是否又回到了 PHP 的老路上?作为一名前端开发者,我对这个话题深有感触,今天就想和大家分享一下我的思考。

从 PHP 到 JavaScript 的辉煌岁月

说起 PHP,相信很多老开发者都有深刻的记忆。PHP 曾经是 Web 开发的王者,几乎所有动态网站的后端都是用 PHP 构建的。那时候,PHP 就像是一把万能钥匙,解决了我们很多实际问题。即使到了今天,PHP 仍然在很多大型项目中扮演重要角色,比如 Facebook 最初是用 PHP 构建的,后来演变成 PHP 的变种 Hack。这说明 PHP 的影响力依然深远。

但是,随着时间的推移,JavaScript 崛起了。特别是 Node.js 的出现,让 JavaScript 不再仅仅局限于浏览器端,而是成为了全栈开发的利器。像 Uber 这样的公司就用 Node.js 来处理服务器和客户端的操作,展示了 JavaScript 的强大。

Next.js:连接过去与未来的桥梁

最近几年,Next.js 成为了前端开发的新宠。它不仅继承了 React 的灵活性,还结合了服务器端渲染的优势,简化了开发流程。可以说,Next.js 就像是 PHP 和 JavaScript 之间的一座桥梁。举个例子,Hulu 就使用 Next.js 来简化服务器端渲染和客户端交互,提供了现代化的用户体验。这种体验让我们不禁想起了 PHP 和 HTML 的经典组合,但却拥有现代技术的强大功能。

真的在倒退吗?

有人说,JavaScript 的这些发展让人感觉像是回到了 PHP 的时代,但我不这么认为。JavaScript 早已不是那个只能做简单交互的小工具,而是成为了 Web 开发的全能选手。现在,像 Next.js 这样的工具不仅提供了 PHP 曾经的简便性,还带来了更多功能,如缓存和服务器端渲染,大大简化了开发流程。Netflix 就通过使用 Node.js 实现服务器端渲染,确保了快速响应的用户界面,这在过去是需要多种技术才能实现的。

未来的发展方向

随着技术的不断进步,Web 开发的未来趋势是功能的整合和开发过程的简化。我们不再需要在多种语言和系统之间切换,现代框架提供了一站式解决方案。比如 Shopify 的 Hydrogen 框架,通过无缝集成后端和前端,极大地简化了开发流程,提高了效率。

总结:进化还是革命?

总的来说,Web 开发的演变并不是简单地回到过去,而是通过利用 JavaScript 的强大功能,突破了旧的限制,为未来更统一和高效的 Web 应用奠定了基础。这是一种上升的螺旋,而非原地打转。

你的看法?

你在开发过程中是否也感受到了这种变化?你对现代 JavaScript 中 PHP 风格模式的回归有什么看法?欢迎在评论区分享你的经验和见解,我们一起讨论 Web 开发的未来!

是否在 Node.js 与 PHP 之间陷入困境?每个都有其优点和缺点。以下是有关如何选择适合您的帮助的帮助。



Web 开发是一个广泛的领域,其中包含您需要全面了解的许多功能。Node.js 与 PHP 是一些最发达的技术,主要用于 Web 开发活动。这两种技术参与了服务器端的开发。然而,Node.js倾向于服务于客户端和服务器端的开发。

根据研究,目前 34.88% 的可用网站托管在 PHP 上。此外,PHP已经存在了 3 多年,使其服务于整个网络的大约 78%。比较而言,Node.js 与 PHP 相比,在业界相对较新,尽管它正在显着增长。

这正是大问题所在!对于您的 Web 开发项目,Node.js 和 PHP 之间的最佳选择是什么?事实是,这两者都是极好的选择,尽管需要更多地了解它们。如果您意识到在两者之间进行选择时遇到了困难,那么本文将为您提供支持!

什么是 Node.js?

出现了很多令人困惑的信息,传播 Node.js 是 JavaScript 编程语言的主要框架。然而,事实是 Node.js 不是一种编程语言,或者更确切地说是一个 JavaScript 框架。该技术作为一个平台运行,您可以在其中定制 JavaScript 编程语言以作为服务器端脚本运行。

此外,Node.js 作为一个开源的单线程平台运行,您可以在其中为您的技术操作创建一个快速且易于扩展的服务器端和网络应用程序。如果您需要根据您的首选需求促进实时操作和应用程序的开发,这是理想的选择。

该工具还可以使用 C 和 C++ 编程语言以及 JavaScript 编写。这主要是因为低级 C 是一种高效且可靠的编程语言,可在构建操作系统、数据库引擎以及与系统编程密切相关的任何其他活动时应用。

另一方面,C++ 编程语言具有促进 Node.js 和创建内部连接的相应操作系统之间的通信的各种特征。该工具可以与 C++ 自由交互,使其能够承受计算机特性,为服务器端和客户端创建更好的平台。

为什么你应该使用 Node.js

Web 开发研究人员透露,36.19% 的人使用 Node.js 进行 Web 开发活动。随着时间的推移,这个数字预计将增长到一个巨大的数字,因为许多人正在更多地了解该工具以及它如何帮助他们减轻他们的网络需求。现在很明显,Node.js 提供了很多功能。以下是使该工具脱颖而出的一些功能和最佳选择。

非阻塞代码

非阻塞代码是使 Node.js 成为令人难以置信的选择的主要功能之一。此外,Node.js 主要由事件驱动,因为大多数代码主要依赖于回调。当其他程序和请求仍在处理中时,它有可能暂停甚至休眠。

此外,该工具提供主要用于生成高性能应用程序的 nob-blocking 调用。该程序有1/0的杠杆时间来满足其他请求的操作。

全栈JS

Node.js 可以让您在客户端服务器和端服务器上进行编码活动。这是一个强大的前端和后端开发组合。请注意,这是在 Web 开发中使用 Node.js 的最关键优势。此外,即使您可以节省尽可能多的时间和资源,它也可以克服雇用两个人的限制。

物联网协议

这项技术不需要您在服务器端拥有大量内存和资源。此外,Web 开发专业人员可以选择使用物联网在不同设备中生成并发链接。该工具还可以支持使用 IoT 的消息队列遥测传输,也称为 MQTT。

此功能使 Node.js 易于与您首选的第三方设备集成。易于集成使该工具成为后端级别的最佳选择。

简单

在分析用于 Web 开发活动的最佳技术时,简单性是需要考虑的一个关键特性。Node.js 是一个很棒的工具,由于其简单的性质,您可以开始使用它。如果您是一名新程序员并且想要入门,Node.js 是最简单的选择,因为您可以在几天内学习并掌握它。

Node.js 的优点

  • 跨平台功能

Web 开发人员可以轻松地结合 Node.js 和 electron 的强大功能来生成实时跨平台应用程序,而无需您为每个平台使用不同的代码。这是触发 Node.js 为 Google Sheets 和Excel 图表创建 ChartExpo 的原因之一,该图表目前应用于一系列数据处理活动。

  • 缩短上市时间

该工具被认为是全栈的,在进行活动时易于使用。如果您的团队成员可以使用此工具,他们可能会节省大量时间,可以花在其他更有利可图的重要活动上。作为回报,您将自动缩短营销时间。

  • 可扩展性

Node.js 有一个高效的模块平衡机制,允许它在多个 CPU 内核上运行。这使您更容易在更短的时间内实现目标。它具有 非阻塞事件循环功能,使其在工作时高效。

Node.js 的缺点

  • 它有一个不稳定的 API

应用程序接口(也称为 API)会不时更改,从而使该工具在某些时候变得不可靠。鉴于定期发布新代码,开发人员必须定期更改其访问代码以适应当前情况。

  • 无法处理繁重的计算

Node.js 的主要缺点是它不能处理多线程编程任务。尽管与 Ruby 相比,它可以支持更复杂的应用程序,但它无法承受长时间的计算。

  • 回调地狱

Node.js 依赖于回调,因为它具有同步操作模型。这使得处理任务变得困难,因为分配的任务出现在队列中。

什么是 PHP?

术语 PHP 是一个首字母缩写词,代表超文本处理器。过去,它被定义为个人主页,随着技术的进步而发生变化。它是一种面向对象的开源服务器端脚本,主要用作 Web 开发工具。在大多数情况下,它用于生成 Web 服务器。

但是,它可以在浏览器和命令行中修改和使用。如果您不想在浏览器中展示您的代码输出,您可以决定通过终端来描绘它。该工具利用 Zend 引擎,主要应用于 Web 开发活动,根据给定的需求执行任务。

Facebook 是对 PHP 进行更改的社交媒体平台之一,包括 JPHP、HipHop 虚拟机(也称为 HPVM)和 Parrot。

为什么你应该使用 PHP

在过去一年中,大约 22% 的 Web 开发人员每天都在使用 PHP,尤其是在运行繁重的编程操作时。最初,许多人坚信这种编程语言会在不久的将来终结。但是,由于该工具至今仍\变得越来越强大,因此忽略了这一点。

许多人在他们的所有 Web 开发操作中仍然依赖 PHP。以下是您应该更喜欢使用它的原因。

HTML 友好

如果您习惯使用 HTML,您可以轻松地转向 PHP,而不会遇到任何麻烦。此外,您可以根据自己的喜好选择在 HTML 外部或内部安装 PHP。另外,您应该记住,PHP 和 HTML 可以互换,并且一切仍然可以顺利运行。

网络兼容性

您可以轻松地将 PHP 与跨行业发展的任何其他技术集成。如果需要,您使用的几乎所有托管服务都有采用 PHP 的空间。它是一个通用且灵活的选项,可以轻松与其他可用的编程语言对应。

跨平台

该工具可以适用于所有可用的主要操作系统。其中一些系统包括 Mac OS、Linux 和 Windows。此外,PHP 已被证明与任何主要的 Web 服务器兼容,例如 OpenBSD、Apache 和 Nginx。此外,Microsoft Azure 和 Amazon AWS 等所有云平台都可以选择启用 PHP。

连接所有数据库

众所周知,PHP 是一种自适应 Web 开发语言。它有一个宽敞的房间,连接着各种数据库,如 MS SQL、Oracle 数据库和 MySQL。这些功能使开发人员可以自由选择适合生成的应用程序的最佳数据库。

PHP的优点

  • 它需要更少的维护

该工具具有先进的功能,使其可以应用于多个领域,因此无需定期维护即可顺利运行。它带有Model-view-controller,也称为 MVC,它将每个应用程序划分为不同的模型、视图甚至控制器。由于所有内容都已正确概述,因此该部门减轻了定期维护的负担。

  • 相对便宜

在您的 Web 开发活动中使用 PHP 是完全免费的。此外,您无需支付任何费用即可使用其功能和工具。多个数据处理框架的可用性为开发人员进行操作创造了良好的环境。

  • 方便使用的

您无需花费太多时间来学习此工具。鉴于它本质上是友好的,您可以在最短的时间内轻松学习和掌握如何使用它。即使你是第一次接触这个工具,你仍然可以掌握它的操作模式。

PHP 的缺点

  • 安全问题

PHP 是众所周知的在安全问题上享有负面声誉的 Web 开发工具之一。当没有经验的开发人员接管该平台时,他们往往会生成带有大量漏洞的网站。这使得该工具看起来是最不安全的选项。

  • 框架质量

由于 PHP 框架是开源的,因此生成的输出质量不达标。因此,大多数框架缺乏资源和适当的支持来提高质量标准。

  • 过时的模型

技术日夜不断变化,因此需要频繁更新。随着机器学习的发展,Python 等新的编程语言也在发展。您无法将这些进步与 PHP 进行比较,因为它拥有一个包含不同功能和技术的库。

结论

上述 Web 开发技术有其消极和积极的一面,您可以根据您想要创建的内容进行选择。所有这两个工具都在 Web 开发活动中发挥着巨大的作用。您在一天结束时做出的选择主要取决于您的要求和您想要拥有的东西。请注意,一种工具可能具有您需要的所有功能,而另一种则缺乏,因此您有机会做出明智的决定。




谢谢大家阅读,喜欢的朋友请关注点赞转发,带你了解最新技术趋势。


作者 | Beau Beauchamp 译者 | 弯月
出品 | CSDN(ID:CSDNnews)
在流行文化的冲击下,也许很多人都不赞同本文表达的观点,但我毅然决定再一次逆流而上。我认为,虽然 PHP 百般受轻视,但这门编程语言的流行度比以往任何时候都高!
为什么?怎么 PHP 还没死吗?不是有那么多比 PHP 更优秀的编程语言吗?
不,并没有。如果真的有这样的语言的话,它们早就带头干掉 PHP 了。我们需要重新审视什么才是“更好”的编程语言。
为什么 PHP 还没死?如果你表示不解,那可能是因为你并不了解编程、程序员、市场和民主。实际上,这与代码、函数或语法没有任何关系。

抨击 PHP 成为了一种时尚

如今,为了在编程的圈子内走红,你就必须抨击与“主流文化”吹捧的编程语言有竞争关系的语言。这与语言本身的功能无关,只是因为文化,就有点像宗教。
程序员是一群固执己见的人,非常傲慢,但我们必须克服这些缺点。我们喜欢抨击我们不喜欢和不使用的编程语言。你会发现有些工程师说 Java 很糟糕,有些说 C# 很糟糕,而有些则说 Go 很糟糕。至于具体是什么语言根本不重要,总会有人批评。
此外,还有一种更深的鄙视,最近这段日子 PHP 和 Python 之间默默地展开了一场较量,似乎学术界正在策划一场阴谋:干掉 PHP,让 Python 取而代之。
如今,你甚至会发现在一些维基百科的页面中,LAMP 技术栈中的 P 居然神奇地变成了 Python。20 年前,在我使用LAMP 的时候,这几个字母指代的可是 Linux、Apache、MySQL 和 PHP,当时的 P 指的可是 PHP,而不是 Python,甚至不是Perl。我并不是说这些定义不能改变。也许是我的疑心太重了?不够包容?还说 Python 占据了 PHP 的位置?
对于我们大多数人来说,大学里学习了 Python,还有其他一些实际工作中可能永远也用不到的小众语言。虽然我们的老师或其他菜鸟会说:“PHP 很糟糕”,但也许他们中的大多数人从未编写过一行 PHP 代码。
事实上,你甚至可能会怀疑是否真的有人从事专业的 PHP 编程工作。普通人对 PHP 的不屑一顾实际上并不合逻辑,而且也不是发自内心的。只不过,与朋友在咖啡馆聊天的时候,我们习惯于一起鄙视某些明星、网红或者 PHP。
此外,还有一些编程纯粹主义者,他们愿意浪费宝贵的时间吹毛求疵,讨论 PHP 如何糟糕。大多数这样的争论都会围绕个人的偏好,或者他们不喜欢的细微差别,为的是宣传自己喜欢的编程语言,并希望这些语言一统天下!
他们的抱怨没完没了:
  • PHP 的类型很弱,而且还有很多糟糕的代码。
Javascript 和 Node.js 又何尝不是呢?你不是一样在用?
  • PHP 的函数太多了。
有些人就连这都要抱怨,是因为太方便了吗?
  • 函数名不一致。
当一种语言真正做到民主化,而不是由哪个“专家高手”凭一己之力一手编写而成,就会出现这样的问题。
可见,他们对 PHP 的批评通常都源于个人偏好,或者只是鸡蛋里挑骨头。要是这么说的话,我们也可以针对Python、C#、Java、Go、Javascript 或其他任何语言挑出相同的毛病。作为程序员,我们喜欢抱怨,满腹牢骚。
但作为程序员,我们喜欢抨击 PHP 的真正原因是,我们固有的狂妄自大和赤裸裸地嫉妒。


PHP更容易使用

PHP诞生于 90 年代中期,甚至在我们中的一些人出生之前。我从 2000 年初开始使用 PHP,当时的版本正在从 4 向 5 过渡,后来我开始使用 CodeIgniter、ZendFramework,在自己的框架中编写应用。
我认为 PHP 长盛不衰的原因,也是这门语言不会消亡的主要原因是,它不仅嵌入到了各类新旧应用程序中,也嵌入到了新老程序员的脑海中,他们使用 PHP 已经长达几十年了。我们不会离世,我们编写的商业代码也不会消失。
有趣的是,Python 诞生于 1991 年,那时PHP 还没有出现。虽然 Python 的生命更长,但它的采用未能达到 PHP 如今的水平。
为什么?
在我个人看来,与 PHP 相比,Python 使用起来很痛苦。这个问题在 Python 3 中有所缓解,但在 15 年前,Python 还没有各种开箱即用的、“花里胡哨”的函数,远比不上 PHP。你必须手动安装很多功能。
此外,我发现 Pyhon 还有一个问题,而且这个问题一直延续至今,那就是空格。我讨厌使用空格作为分隔符的语法。我希望按照自己喜欢的方式分隔代码,而且不希望编程语言碍手碍脚。无论你再怎么说得天花乱坠,代码是我的,我想怎么写就怎么写,谁也管不着。
Python一直吹嘘自己的空格语法“易于阅读”,但这不过是营销的空话罢了。我个人认为,Python 使用了最糟糕的语法,还不自知。
这种自以为是的语法很容易引入错误。最初,在 IDE 能够所有这些问题之前,我相信没有程序员喜欢这种语法。至少我个人就不喜欢。这也是几十年来该语言的采用率一直很低迷的部分原因。其实就是因为这种语法对用户不够友好。
此外,我认为早年间人们并不知道 Python 的存在。它作为一种脚本语言嵌入到 Linux 发行版中,这就是它的主要用途。没有人会跑出来大喊道:“我可以用 Python 构建网站了!”
事实上,虽然我们可以用 Python 做网站,但优秀的工程师都知道 Python 的强项并不是做网站。除了我个人对语法的偏好之外,Python 在功能上是一门非常强大的语言,特别是它的库可以用在数据科学或其他侧重于数学计算的地方,这些情况下精度是必须满足的要求。


PHP是任何人都可以使用的语言

我同意,在过去的 15 年间,Python 推出了许多更新,并超越了 PHP,只不过这些更新晚了十年。
2008年发布的 Python 3 实际上打破了向后兼容性。Python 2 的代码无法与 Python 3 一起运行,你需要做一定的修改。但是,如果有一百万行代码需要更新,那就没戏了,尤其是在企业环境中。
公平地说,PHP 7 和 8 也破坏了一些 PHP5 的代码(没有 PHP 6)。我是ZendFramework 1 社区的一员,该社区帮忙更新了运行在 PHP 7 和 8 之上的框架。幸运的是,在将 ZF1 升级到 PHP 7 和 8 时,我的企业遗留代码几乎没有损坏。所以,大部分 PHP 5.6 代码仍然可以向后兼容。
但也许真正帮助 PHP 一炮而红的事件是,一家成立于 2005 年的名为 Automattic 的小型初创公司。
WordPress刚开始的时候很不起眼,但它不仅改变了开发人员,而且也改变了普通人发布网站的方式。
到目前为止,最好的发布选择是 Drupal、Joomla 或其他一些BBS 软件。但这些软件使用起来都很痛苦,因为编写这些软件的人的思考方式更接近程序员,而不是普通用户。
如果 WordPress 是用 Python 编写的,那么可能 PHP 真的会走下坡路。但我敢说,Python 会阻碍 WordPress 的迅速崛起,甚至完全阻止。
采用以及扩展贡献者的支持将关系到语言或应用程序在开源市场中的生存。而易用性是刺激采用率迅速上涨的关键。
作为一名受过大学教育的软件工程师,无论你如何诋毁 PHP,都无法否认 PHP 不仅受到了专业软件工程师的青睐,而且就连兼职人员、家庭主妇、平面设计师、公司经理、企业家和小学生都能使用计算机编写网页。
可以说 PHP 是信息时代的 BASIC(语言)。
作为一名软件工程师,你的思考方式必然和软件工程师一样,而不是那些只想利用有限的时间和资源为自己的小企业建立一个网站的人。
而 WordPress 和 PHP 改变了这一切。
WordPress本身很容易使用,但功能很有限。普通人可以利用 WordPress 的插件架构,编写很小的 PHP 代码片段,他们不需要重写整个类或成为软件工程师来完成这些工作。
数以百万计的业余程序员通过 WordPress 在网络上与其他人分享他们的成功,并发展了这个平台。
通俗易懂的 PHP 语言让普通人也可以编写有效的代码。简单、没有特殊要求、弱类型、不需要编译,就可以运行。


PHP与互联网

15年后的今天,PHP 为 78% 的 Web 提供支持。仅 WordPress 就占所有网站的近 40%,并拥有近 2/3 的 CMS 市场份额!关键是Python 希望占有这些市场的 10%!尽管 Python 纯粹主义者对 PHP 充满仇恨,但 Python 仅占 Web 的不到 1.5%。
有些企业客户的招聘人员曾联系过我,他们希望删除所有的 Python Web 代码,并换成 PHP。你可能会感到很震惊,但其实这种情况应该更多。为什么?因为老实说,Web 不是 Python 的主战场,Python的主要用户是数据科学和其他专家,而且有这方面经验的人才供不应求。
通常公司需要灵活。当需要扩大团队或有人离职时,他们不可能花费数周或数月来寻找新的 Python 人员。而且 Python 工程师也很贵。
对于小型企业来说,寻找 PHP 程序员要容易得多,而且如有必要甚至可以进行培训。关键是你可以找到拥有数十年经验的高级 PHP 架构师,比找相应的 Python 人员要容易得多。
关键是,如果你在一家公司工作,如果没有正当理由就想用 Python 编写网页或中间件,那么就会遭到责备。因为公司会为此背负上 Python 代码,将来他们需要花费巨额资金来删除这些代码,并用正确的工具替换。
应用程序架构师的首要工作是,针对企业的实际情况,选择最有效的技术。不能因为网上非常流行,或者是学校里教了某种语言,你就根据自己的喜好来选择。
我建议完全用 Python 编写 SaaS 应用程序的情况非常少,考虑到 Python 的 Web市场份额,似乎大多数应用程序架构师都会选择正确的语言。他们会在 Python 最擅长的领域选择 Python,并根据 PHP 的最大优势选择 PHP。

总结

作为工程师,我们都喜欢使用自己熟悉的语言,而且我们喜欢对自己不熟悉的技术嗤之以鼻。
各个高校都在尝试将 Python 作为通用的商业语言。但实际上,Python 更适合运行服务器、数据科学、处理大型复杂数字,乃至加密货币的挖矿等。
而 PHP 是大众语言,它已成为互联网事实上的语言。
所以,如果你喜欢,可以继续抨击 PHP,继续鄙视它。但无论怎样,PHP 仍然是迄今为止网络上使用最广泛的语言,随着 WordPress 的持续飞速增长和 PHP 7 和 8 的新速度,这种地位在短期内不会改变。
参考链接:
https://beau-beauchamp.medium.com/php-is-killing-python-2be459364284

《新程序员003》正式上市,50余位技术专家共同创作,云原生和数字化的开发者们的一本技术精选图书。内容既有发展趋势及方法论结构,华为、阿里、字节跳动、网易、快手、微软、亚马逊、英特尔、西门子、施耐德等30多家知名公司云原生和数字化一手实战经验!