评估方法
下面将会对 PHP 和 Node.js 进行十个轮次的比较. 每个回合都会考量可以应用到任意 web 技术的常见的开发挑战. 我们不会太深入讨论细节; 很少有人会关心随机数生成器或数组排序的价值.
赢得最多回合的将会是优胜者. 准备好了吗? 开始较量吧......
第一轮: 起步
创建一个 "Hello World" web 页面有多快呢? 在 PHP 中:
- <?php
- echo 'Hello World!';
- ?>
这段代码可以放置在可以被 PHP 引擎解析的任意文件中 -- 通常, 是以 .php 为后缀的文件. 在浏览器中输入 URL 跳转到文件即可.
不可否认, 这不是全部. 这段代码只能运行于安装了 PHP 的 web 服务器 (PHP 有一个内置的服务器, 尽管如此, 最好还是使用一个更健壮的服务器). 大多数操作系统提供了服务器软件, 如 windows 上的 IIS,Mac 和 Linux 上的 Apache, 尽管它们需要启动和配置. 通常使用提前构建的安装程序, 如 XAMPP https://www.apachefriends.org/ 或虚拟机镜像 (如 Vagrant http://www.sitepoint.com/re-introducing-vagrant-right-way-start-php/ ). 一种更简单的方式: 上传你的文件到任意的 web 主机.
对比而言, 安装 Node.js 轻而易举. 你可以 下载安装程序 https://nodejs.org/download/ 或者 使用包管理器 https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager . 接下来让我们在 hello.js 中创建 web 页面:
- var http = require('http');
- http.createServer(function (req, res) {
- res.writeHead(200, {'Content-Type': 'text/plain'});
- res.end('Hello World!');
- }).listen(3000, '127.0.0.1');
在浏览器中访问 http://127.0.0.1:3000/ 之前, 你需要在终端输入 node hello.js 来启动应用程序 . 通过上面的五行代码, 我们已经创建了一个小型的 web 服务器, 尽管这很令人吃惊, 但是即便拥有很强客户端 JavaScript 经验的人也很难理解.
来源: https://www.oschina.net/translate/php-vs-node-js