Що крутіше - PHP чи Node.js? Топ-5 порівнянь

PHP створений в 1994 році Расмусом Лердфордом. Він створив програмну оболонку, яка встановлюється в якості модуля для веб-сервера Apache або Nginx. Спочатку розроблявся як препроцесор гіпертекстових сторінок, тому PHP може бути легко інтегрований в HTML-код, хоч зараз це не вітається, але все ж для новачків такий підхід був очевидний. Це сприяло популярності мови, тому 80% сайтів в Інтернеті написані на PHP, вони ж, зокрема, працюють під управлінням WordPress CMS (20% сайтів в Інтернеті).
Node.js створений у 2009 році Райаном Далем. Він створив програмну платформу, засновану на JavaScript V8 від Гуглівського "двигунця". Незвично те, що платформа має вбудовані бібліотеки для обробки запитів і відповідей, і тим самим вам не потрібно використовувати сторонній веб-сервер і будь-які інші залежності. Node.js набирає обертів і використовується такими компаніями, як Microsoft, Yahoo, LinkedIn і PayPal.
Тож глянемо - які переваги і де мають ці дві мови?

1. Якщо порівнювати текст програми-тесту, котра виводить "Hello World!", тут все зрозуміло без зайвих слів:
PHP:
<?php
    echo 'Hello World!';
?>

Node.js:
const http = require('http');
const hostname = 'localhost';
const port = 8000;
http.createServer((req, res) => {
  res.writeHead(200, { 'Content-Type': 'text/plain' });
  res.end('Hello World ');
}).listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});

Бачимо: PHP для вивчення і використання набагато простіший.
Йдемо далі.

2. Оскільки Node.js - достатньо молода мова програмування, то документації ній набагато менше. Менше книг, форумів, сторінок "типових питань" тощо. Хоча, заради об'єктивності, слід сказади що Node стрімко набирає популярність, і документація по цій мові програмування все зростає.

3. З виходами різних версій PHP дещо змінювався і синтаксис мови. Всі старі функції, звісно, підтримуються, і це додає певного хаосу в код. Потрібно тримати в голові велику купу функцій, щоб прочитати код, написаний іншою людиною, котра має інший, ніж у вас "почерк". В  Node.js же зворотна ситуація - там кожна функція унікальна. Мова молодша, що тут ще можна говорити...

4. Середовище. Тоді як на PHP ви можете розробляти десктопні програми або консольні утиліти, (хоч в основному PHP потрібен на стороні сервера і рідко виходить за межі цієї межі), на Node.js можна писати десктопні і мобільні додатки, а також можна програмувати і мікроконтролери. Node.js розширив JavaScript.

5. Технології розробки обмежені, якщо не можуть інтегруватися з базами даних і драйверами. PHP має перевагу в цій області. Розвиток йшов протягом багатьох років, тож PHP легко може працювати з будь-яким хостом за допомогою API.
Node.js наздоганяє швидко, але треба неабияк напружитись, щоб знайти сучасні компоненти інтеграції для старих речей.


Обговорення