【IT168 评论】两个老朋友之间最终以战斗的方式分开,这是经典的好莱坞情节,通常,摩擦开始于一个人对另一个人的说话不感兴趣时。在编程语言这部电影中,Node.js 的引入使得朋友轻易地变成了怨恨对手:PHP 和 JavaScript,两个合作伙伴曾经一起互联网,但现在却彼此分开。
然后一些聪明的开发者发现 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 还会和它的老朋友一起实界吗 ?
如果你想添加一个分支,一个 if-then 语句就可以,看起来也很漂亮。或者也许你想混合文本或数据库中的数据。使用 PHP,打开 PHP 标签,几秒钟就可以开始编写代码。不需要模板,因为一切都是模板!不需要额外的文件或精心设计的架构,只需要你的指尖编程。
混合代码可能最终不是什么好事。虽然,这件事很有趣,但很快你的代码就会变的逻辑混乱。真正的程序员会添加结构并将基础层与逻辑层分离。这使代码对新程序员来说更加清晰,易于理解和。在 Node.js 上运行的框架由程序员构建,程序员知道模型,视图和控制器分开是最好的。
网络中充满了 PHP 代码。用于构建网站 ( WordPress,Drupal,Joomla ) 的最流行的平台是用 PHP 编写的。不仅平台是开源的,大多数的插件也是如此。PHP 代码无处不在。
当然,有成千上万伟大的开源 PHP 文件,但谁想要花几个小时,几天或几个星期的时间研究几年没有更新的代码呢 ?Node.js 插件不仅更新,而且是建立在最新的架构方法上的。它们由程序员构建,程序员知道现代网络应用程序应将大部分智能推送给客户端。
PHP 没有太多的东西:一些变量和基本的函数,用于编译字符串和数字。除了将数据从 80 端口移动到数据库和回来之外做的不多,PHP 是一个不复杂的工作所需的。
JavaScript 可能有许多小的特性,但在大多数情况下,它是一种现代语言,运行现代语法和一些有用的功能,如闭包。你可以很容易地重新配置和扩展它,使强大的库比如 jQuery 成为可能,你可以传递类似对象的函数。
如果你是一个程序员,想要做的不仅仅是与数据库交互,而是对结果进行格式化,现在你可以使用 PHP 做很多事情。Facebook 的 HHVM 添加了对 Hack 的支持,Hack 是一个完整的语言,充满了类型注释,泛型和 lambda 表达式等现代特性。使用这个会代码只运行在 HHVM 上。
在浏览器和服务器上使用相同的语言是很好的,但如果你不需要在浏览器上使用任何语言怎么办 ? 如果以 HTML 格式发送数据怎么办 ? 纯 HTML 比其他任何东西都更频繁地被使用,并且 PHP 已经被优化以创建它,既然如此,为什么还要在浏览器上使用 JavaScript?
如果你愿意花时间创建一个漂亮的浏览器端网络应用程序,Node.js 经过优化,可通过 Web 服务提供数据。如果你的应用程序很复杂,数据丰富,这是高效交付的良好基础。
PHP 被构建为与 MySQL 及其许多变体 ( 如 MariaDB ) 共存。如果 MySQL 不完全正确,还有来自 Oracle 和 Microsoft 的其他 SQL 数据库。代码可以对查询进行一些更改。 一些稳定的,开发良好的代码将与 SQL 数据库相连接,这意味着也可以轻松地集成到 PHP 项目中。
不是说不能为 PHP 堆栈获得 JSON 库,但使用 JavaScript 时,使用 JSON 更简单灵活。它是从浏览器到 Web 服务器到数据库的一种语法。
对于大多数开发人员,为 Web 应用程序编写 PHP 感觉更快:没有编译器,没有部署,没有 JAR 文件或预处理器,只是你最喜欢的编辑器和一些目录中的 PHP 文件。当一个项目需要快速开发时,PHP 是最好的工具。
HHVM 团队和 Zend 团队正在努力为每个人提供快速代码。出现了的基准,每个人都将代码推向极限,这意味着更好的性能。
你真的想要两个不同的代码库吗 ? 竞争有助于发展,但碎片化很快就会出现。如果你必须花几个星期或几个月重写代码,竞争不会有什么好处。虽然 Node.js 在几年前经历了,随着 io.js 的推出,Node.js 的 Universe 已经重新统一了,它给了 PHP 开发人员很久以来未曾有过的语言团结。
推荐:
网友评论 ()条 查看