PHP 和 Node.JS 的基本区别在于 PHP 是一种编程语言, 而 Node.JS 是一个基于 Chrome V8 引擎的 JavaScript 运行环境. 下面本篇文章就来给大家对比一下 Node.JS 和 PHP, 具体介绍一下区别, 希望对大家有所帮助.
1, 性能方面:
由于 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.
来源: http://www.css88.com/qa/node-js/10617.html