Node.js VS PHP — 你应该选择哪一个?

来源: 投稿
作者: 周其
2017-12-23

现在,Web开发公司和开发人员可以选择多种技术栈来构建Web应用程序。早期网络发展,不同的技术被用于前端和后端开发。但是,随着Node.js的发布,布局发生了变化,因为它允许开发人员使用 JavaScript 编写后端代码。这最终催生了MEAN(MongoDB + Express +AngularJS + NodeJS )堆栈 web 开发框架,从前端到后端甚至是数据库(MongoDB -JSON)都使用 JavaScript。在 Node.js 之前,Web 开发通常是在 PHP 的帮助下完成的,因为它很容易与 HTML 集成,帮助开发人员立即构建动态网站。在这篇文章中,我们将比较 Node.js 和 PHP,看哪一个最适合当前的行业需求。

PHP 和 Node.js 的基本区别在于 PHP 是一种编程语言,Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。

 Node.js VS PHP,哪一方可以赢得这场战争取决于你构建的网站类型。比方说,如果你想构建一个实时的聊天应用程序,那么选择 Node.js 是明智的,因为它可以轻松处理大量的客户端请求。但是,这并不意味着PHP 不可以,请看完 Node.js VS PHP 后再决定用谁构建你的网站。

1.性能:

在性能方面,Node.js 显然赢了这一局。由于 Node.js 遵循事件驱动的非阻塞I/O模型,与传统的后端技术相比,Node.js 能够处理大量的服务器请求。PHP 遵循一个阻塞模型,其中在服务器端创建多个线程来处理多个客户端请求,如果代码没有被优化,它会导致高服务器负载和响应时间。

2.托管和部署:

PHP 应用程序可以在包括 Nginx 和 Apache 以及 Windows 和 Linux 平台在内的任何服务器上运行,这使得部署过程变得更容易,而 Node.js,则需要具有 SSH 访问权限的虚拟服务器。因此,在没有任何控制台命令和 Secure Shell(SSH)知识的情况下,用 PHP 部署小型企业和个人应用会更好。

3.外部依赖:

Node.js 依赖关系较少,用几行代码就可以设置一个 Web 服务器。但运行 PHP 应用程序,就需要外部服务器软件。用 Node.js 的开发人员只需要 NPM(节点包管理器)就可以下载 Node 模块,这些模块可以轻松地集成到应用程序中,提供额外的功能。

4. CPU 扩展任务:

Node.js 可能在高吞吐量方面表现优异,但是当应用程序繁重,需要 CPU 做大量工作时,Node.js 肯定会有所欠缺。在这种情况下,PHP 最适合做 Web 应用程序的后端。

5.单页应用程序: 

如果您使用过 Gmail,那么您可能知道什么是单页应用程序(Single Page Application)。Web 应用程序在初始客户端请求时加载,之后根据客户端请求刷新的网页的特定部分。Node.js 与 AngularJS 的联合是开发单页应用程序的完美方案。

6.开发环境:

Node.js 可以用于桌面应用程序开发(Windows,Linux和Mac),移动应用程序开发(混合和跨平台应用程序),甚至构建基于控制台的应用程序。虽然有一些也可以使用 PHP 来开发,但是大多数开发人员不会这样做。

7.社区支持:

由于 PHP 比 Node.js 早诞生将近20年,所以在文档,API 和代码库等在线资源方面更为丰富。所以很有可能其他人也尝试了你想要用代码完成的事情并从中获得了帮助。另一方面,Node.js 虽然已经得到了开发者和组织的广泛关注,但是它支持开发者开发的资源缺相当少。

8.学习曲线:

编写 Node.js 代码对于新手甚至是专业的 JavaScript 开发人员来说都不是件容易的事情,因为他们需要在入门之前理解一些复杂的概念,比如 web worker 和回调函数。相反,PHP是一门非常友好的编程语言对于开发 Web 应用程序的新手来说。

Node.js 和 PHP 战斗的结果是相辅相成的,因为这两种技术都有各自的优点和缺点。这大多是相似的情况在比较或选择用于 Web,桌面和移动开发的其他技术时。Node.js 有前途,并且肯定会占据PHP市场的一部分,但是不能完全取代 PHP。

Node.js 和 PHP 之战,你更偏向谁?

来自:agicent

展开阅读全文
21 收藏
分享
加载中
精彩评论
MrD
这个网站基本上隔三差五就要靠php来聚拢一下人气...
2017-12-23 12:09
14
举报
然而php依旧是神话,任凭你们语言怎么吹,中小型公司依然考虑成本,喜欢二开。
2017-12-23 08:35
5
举报
看来这篇文章就是在说node好喽,唉,php希望能坚持下去
2017-12-23 08:21
3
举报
一边鄙视php, 一边拿php蹭热度.
---- 开源中国
2017-12-25 09:02
2
举报
我建议是,一个项目,招聘相同的人数,那个语言更好招聘,人力成本更低,就选那种方案。综合考虑人员流程风险,团队学习成本等等。。
2017-12-23 23:09
2
举报
最新评论 (55)

引用来自“左华栋”的评论

学swoole 的人还不如node 多。
指望一堆连 HTTP websocket 协议都分不清,进程,线程压根没概念。同步异步更不懂。甚至只知道thinkphp的人去学swoole ? 省省吧

引用来自“彩虹梦”的评论

那个 node cache 有没有什么推荐,貌似都是 redis macahe 。nest.js 的 cache 好像是和 mogosooe 的缓存
看这篇就够了: https://www.jianshu.com/p/e7b0f3eb3aed
2019-05-07 16:03
0
回复
举报

引用来自“左华栋”的评论

学swoole 的人还不如node 多。
指望一堆连 HTTP websocket 协议都分不清,进程,线程压根没概念。同步异步更不懂。甚至只知道thinkphp的人去学swoole ? 省省吧
那个 node cache 有没有什么推荐,貌似都是 redis macahe 。nest.js 的 cache 好像是和 mogosooe 的缓存
2019-05-07 15:16
0
回复
举报

引用来自“netkiller-”的评论

我建议是,一个项目,招聘相同的人数,那个语言更好招聘,人力成本更低,就选那种方案。综合考虑人员流程风险,团队学习成本等等。。
node,前后端统一
2019-04-24 11:06
0
回复
举报

引用来自“MuskIron”的评论

node逐渐冷淡,php依然坚持
stackoverflow 排行榜和github 排行榜比较有参考意义,php 从16年开始下跌了,国外php 招聘岗位也少于node.js 了。。。
2018-11-18 08:03
0
回复
举报

引用来自“西湖老司机”的评论

node 这种 水笔居然还活在 佩服佩服

引用来自“左华栋”的评论

我们已经从 php转node了,性能和并发量确实有明显提升。。
支持你一波,php代码一点可读性都没有,有什么可骄傲的,php粉(小宇宙们,来轰炸我吧),大前端js一统江湖
2018-11-17 23:40
1
回复
举报
node逐渐冷淡,php依然坚持
2018-10-14 08:26
0
回复
举报

引用来自“西湖老司机”的评论

node 这种 水笔居然还活在 佩服佩服
我们已经从 php转node了,性能和并发量确实有明显提升。。
2018-01-04 09:25
1
回复
举报

引用来自“OSC_BmJpzF”的评论

然而php依旧是神话,任凭你们语言怎么吹,中小型公司依然考虑成本,喜欢二开。

引用来自“左华栋”的评论

事实上node 的开发成本低于laravel框架。有很多javaer 转node。。。

引用来自“eechen”的评论

那只能说明Laravel这个自称"优雅"的PHP框架开发成本高罢了.
PHP不用框架就能快速开发,Node不用框架,做个上传功能都蛋疼.
这足以说明PHP开发成本比Node低.
npm 上有很多包可以用,nest.js 架构也好于 php的大多数框架。
2017-12-28 09:38
1
回复
举报
学swoole 的人还不如node 多。
指望一堆连 HTTP websocket 协议都分不清,进程,线程压根没概念。同步异步更不懂。甚至只知道thinkphp的人去学swoole ? 省省吧
2017-12-28 09:37
1
回复
举报
java,python,go笑而不语
2017-12-25 09:40
0
回复
举报
更多评论
89 评论
21 收藏
分享
返回顶部
顶部