过去的互助关系很大略。JavaScript处理浏览器上的细节,而PHP管理80端口和MySQL之间的所有做事器端任务。这是一个幸福的同盟,支持互联网的许多关键部分。在WordPress,Drupal和Facebook之间,人们险些在网络上的每一分钟都有PHP的参与。
然后一些聪明的开拓者创造JavaScript可以用在做事器上。溘然,没有必要利用PHP来构建做事器堆栈了。一种措辞既可以构建Node.js,也是客户端运行框架所须要的。“JavaScript无处不在”成为了一些人的口头禅。
从那时起,两个平台都不断地扩大和改进。Node.js的开拓职员现在可以选择一个不断扩充的精良框架凑集:Express,Angular,Meteor等。列表很长,最大的问题是选择最精良最得当的。
PHP也加快了速率,zippy即时编译器供应的答案比以前更快。现在的PHP 7.0和HHVM都为Chrome和Node.js供应了相同的即时优化引擎V8。不仅如此,HHVM还有一个Hack,它对诸如lambda,泛型和凑集等繁芜编程特性供应完备支持。
有人夸奖Node.js和JavaScript,也有人对PHP的代码根本和稳定性感到满意。JavaScript还会和它的老朋友一起实现统治天下吗?
PHP特点:稠浊代码
如果你想添加一个分支,一个if-then语句就可以,看起来也很俊秀。或者大概你想稠浊文本或数据库中的数据。利用PHP,打开PHP标签,几秒钟就可以开始编写代码。不须要模板,由于统统都是模板!
不须要额外的文件或精心设计的架构,只须要你的指尖编程。
Node特点:代码分离
稠浊代码可能终极不是什么好事。虽然,这件事很有趣,但很快你的代码就会变的逻辑混乱。真正的程序员会添加构造并将根本层与逻辑层分离。这使代码对新程序员来说更加清晰,易于理解和掩护。在Node.js上运行的框架由程序员构建,程序员知道模型,视图和掌握器分开是最好的。
PHP特点:深度代码库
网络中充满了PHP代码。用于构建网站(WordPress,Drupal,Joomla)的最盛行的平台是用PHP编写的。不仅平台是开源的,大多数的插件也是如此。PHP代码无处不在。
Node特点:更新的代码意味着更当代的功能
当然,有成千上万伟大的开源PHP文件,但谁想要花几个小时,几天或几个星期的韶光研究几年没有更新的代码呢?Node.js插件不仅更新,而且是建立在最新的架构方法上的。它们由程序员构建,程序员知道当代网络运用程序应将大部分智能推送给客户端。
PHP特点:大略(排序)
PHP没有太多的东西:一些变量和基本的函数,用于编译字符串和数字。除了将数据从80端口移动到数据库和回来之外做的不多,PHP是一个不繁芜的事情所需的。
Node特点:繁芜的闭包
JavaScript可能有许多小的特性,但在大多数情形下,它是一种当代措辞,运行当代语法和一些有用的功能,如闭包。你可以很随意马虎地重新配置和扩展它,使强大的库比如jQuery成为可能,你可以通报类似工具的函数。
PHP特点:新代码正在建立
如果你是一个程序员,想要做的不仅仅是与数据库交互,而是对结果进行格式化,现在你可以利用PHP做很多事情。Facebook的HHVM添加了对Hack的支持,Hack是一个完全的措辞,充满了类型注释,泛型和lambda表达式等当代特性。利用这个会限定代码只运行在HHVM上。
Node特点:几十种措辞选项
如果PHP用户乐意访问Hack,他们该当考虑迁移到Node.js天下,由于许多紧张措辞可以交叉编译以在JavaScript中运行,如Java,C#或Lisp和Scala,OCaml和Haskell。
PHP特点:无需客户端运用程序
在浏览器和做事器上利用相同的措辞是很好的,但如果你不须要在浏览器上利用任何措辞怎么办? 如果以HTML格式发送数据怎么办? 纯HTML比其他任何东西都更频繁地被利用,并且PHP已经被优化以创建它,既然如此,为什么还要在浏览器上利用JavaScript?
Node特点:高效交付的根本
如果你乐意花韶光创建一个俊秀的浏览器端网络运用程序,Node.js经由优化,可通过Web做事供应数据。如果你的运用程序很繁芜,数据丰富,这是高效交付的良好根本。
PHP特点:SQL
PHP被构建为与MySQL及其许多变体(如MariaDB)共存。如果MySQL不完备精确,还有来自Oracle和Microsoft的其他SQL数据库。代码可以对查询进行一些变动。 一些稳定的,开拓良好的代码将与SQL数据库相连接,这意味着也可以轻松地集成到PHP项目中。
Node.js特点:JSON
不是说不能为PHP堆栈得到JSON库,但利用JavaScript时,利用JSON更大略灵巧。它是从浏览器到Web做事器到数据库的一种语法。
PHP特点:编码速率
对付大多数开拓职员,为Web运用程序编写PHP觉得更快:没有编译器,没有支配,没有JAR文件或预处理器,只是你最喜好的编辑器和一些目录中的PHP文件。当一个项目须要快速开拓时,PHP是最好的工具。
Node.js特点:原始速率
当你算入大括号和括号时,编写JavaScript代码有点困难。它的核心在于风雅准确。
PHP特点:内部竞争
HHVM团队和Zend团队正在努力为每个人供应快速代码。涌现了独立的基准,每个人都将代码推向极限,这意味着更好的性能。
Node.js特点:领悟联络
你真的想要两个不同的代码库吗?竞争有助于发展,但碎片化很快就会涌现。如果你必须花几个星期或几个月重写代码,竞争不会有什么好处。虽然Node.js在几年前经历了分裂,随着io.js的推出,Node.js的Universe已经重新统一了,它给了PHP开拓职员良久以来未曾有过的措辞联络。