PHP vs Node.js

PHP vs Node.js
23 хв. читання
16 грудня 2019

Це переклад статті Крега Баклера (Craig Buckler) «SitePoint Smackdown: PHP vs Node.js» і суддівських рішень Бруно Шкворца і Джеймса Хиббарда (Bruno Škvorc, James Hibbard) статті Крега Баклера.

Від перекладача

Існує багато статей на цю тему, з якісними характеристичними аналізами і прогнозами продуктивності. Однак, мені все ж хотілося знайти таку статтю, де професійні програмісти діляться своїми думками і намагаються щось підказати, застерегти новачка, який тільки вивчає PHP або NodeJS (серверна JavaScript). Багато хто не люблять PHP і кажуть, що PHP створений, щоб помирати (так, там є збирач сміття, який вбиває наші змінні після виконання скрипта, а не тому що його закинув Расмус Лердорф), однак, що тепер не вчити PHP зовсім, у той час як на ньому працює 80% сайтів в інтернеті. Тому, якщо ми хочемо бути професіоналами і намагатися хоч якось розширити свій кругозір, нам потрібно чітко розділяти завдання PHP і завдання NodeJS, а не зливати все в купу.

«10 раундів боксерів різних вагових категорій»

В один прекрасний день Крег Баклэр (Craig Buckler) на сайті SitePoint.com опублікував порівняльний аналіз PHP і NodeJS під назвою «10 раундів», щоб визначити хто є абсолютним чемпіоном. Однак, в цей же час він зазначив, що такий аналіз є дещо суперечливим. Тому, для розваги, він запросив двох суддів, які внесли свою лепту у цей боксерський поєдинок. Він попросив Бруно Шкворца (Bruno Škvorc, редактор колонки PHP на сайті SitePoint.com) і Джеймса Хиббарда (James Hibbard, редактор колонки JavaScript на сайті SitePoint.com) прокоментувати кожен з раундів, удар за ударом — оцінка.

Вступ

Web-програмування стрімко розвивається, і перед back-end розробниками постає питання вибору між усталеними важкоатлетами Java, C, Perl і сучасними веб-орієнтованими мовами, такими як, Ruby, Clojure, Go. Ваш вибір має величезне значення, накладаючи свій відбиток на роботу програми.

Але який зробити вибір для веб-розробки?

Не хочеться починати холівар, але все ж ми будемо сьогодні говорити про PHP і NodeJS:

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

Чому не говоримо про C#, Java, Ruby, Python, Perl, Erlang, C++, Go, Dart, Scala, Haskell, і інших?

Стали б ви читати статтю про все і вся, вам потрібна енциклопедія? Тому ми обмежили і звужили коло до двох, тому що:

1. PHP і Node.js веб-орієнтовані, в обох відкритий вихідних код, вони спрямовані винятково на веб-розробку
2. PHP давня мова, однак, Node.js в нашому випадку є вискочкою, яка набирає оберти за популярністю, тому php-розробникам варто задатися питанням. А чи варто змінювати технологію?
3. Багато розробників програмують з далеких 90х на PHP і JavaScript і переходити на інші мови програмування не всі хочуть, бо не віддають їм належне.

Правила

Боксер у правому кутку — PHP, боксер у лівому — Node.js. Абсолютним переможцем буде та технологія, яка переможе за кількістю раундів.

Перший раунд: швидкий старт

У цьому раунді ми визначаємо, як швидко ми можемо написати «Hello, world» сторінку на тій чи іншій мові програмування, в цей час ми включаємо час витрачений на налаштування сервера.

Готуємо середовище:



1) Як швидко ви можете побудувати «Hello World» веб-сторінку на PHP:

 

Цей код може бути написаний де завгодно, як правило, пишуть код у файли, що закінчуються на розширення .php. Якщо ви написали цей код у файлі index.php і запустили на локальному сервері через порт 8000 (на своєму комп'ютері, а не на реальному хостингу), то його відображення буде доступна за адресою:

http://localhost:8000

Однак, використовуючи готовий інтерпретатор PHP з вбудованим сервером досить ненадійне заняття. Краще використовувати готові рішення, Apache — XAMPP або віртуальні OS (Vagrant). До речі, свій файл ви зможете завантажити на будь-який хостинг інтернету.

2) Встановити платформу Node.js простіше простого, якщо ви працюєте на unix-подібних системах, ви зможете це зробити і за допомогою менеджерів пакетів. Давайте створимо сторінку index.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\n');
}).слухати(port, hostname, () => {
console.log(`Server running at http://$:$/`);
});

Ми повторили аналогічні дії, код на JavaScript, як правило, пишуть у файли, що закінчуються на розширення .js. Якщо ви написали цей код у файлі index.js і запустили на локальному сервері через порт 8000 (на своєму комп'ютері, а не на реальному хостингу), то його відображення також буде доступно за адресою (за умови, що php тепер працює на іншому порту):

http://localhost:8000

Тепер давайте оцінимо код, навіть якщо ви добре знаєте клієнтський JavaScript, вам доведеться думати і розбиратися з тим, що ж тут написано. Ви повинні розуміти замикання і callback-функції, проміси, програмування на стороні Node.js вимагає деякої вправності.

PHP концептуально простіше і виграє цей раунд. Хоча PHP має кілька програмних залежностей, проте PHP менш складний для вивчення.

Оцінка суддів — PHP 1:0 Node.js

  • Бруно: PHP виграє через низький поріг входження. Тут швидше питання сприйняття. На екрані вони відображаються однаково і суттєвої відмінності у них немає. Фактично синтаксис набагато простіше для початківців програмування.
  • Джеймс: При розробці на локальній машині, я не бачу різниці між ними. Щоб запустити скрипт в браузері, вам необхідно мати веб-сервер і термінал. Щоб на Node.js робити щось серйозне, потрібно встановлювати додаткові модулі, наприклад, express (фреймворк для веб-додатків). Однак, концептуально PHP — простіше.

Другий раунд: допомога і підтримка

Насправді ви нікуди не поїдете на своїх знаннях без вивчення будь-яких курсів, сучасних практик, щоб розвиватися, вам потрібно задавати питання на форумах, таких як — StackOverflow. PHP виграє цей раунд легко, він має велике керівництво на сайті php.net і двадцять років часто зустрічаємих питань. Що б ви не робили, хтось стикався з цією проблемою і намагався її вирішити за вас.

У Node.js є хороша документація, але технологія досить молода, тому і відповідей на форумах, буде значно менше.

Оцінка суддів — PHP 2:0 Node.js

  • Бруно: промовчав
  • Джеймс: Я згоден. Node.js молодша технологія, тому зараз з підтримкою і документацією гірше. Ця проблема, однак, стає все менш і менш серйозною по мірі дорослішання Node.

Третій раунд: синтаксис мови

На відміну від деяких мов і фреймворків, PHP не змусить вас працювати певним чином, і росте разом з вами. Ви можете писати свої маленькі програми на простих функціях PHP4, і вони будуть відрізнятися своєю красою від MVC PHP 5+. Однак у такому разі, ваш код може бути хаотичним, ви почнете писати кращий код тільки з розумінням деяких речей.

Синтаксис PHP змінювався з виходом нових версій, через що була проведена робота по зворотній сумісності. Ви можете легко перенести код з PHP4 на PHP5. Однак, в наслідок такого підходу, в PHP утворився безлад (каша).

Наприклад, як ви підрахувати кількість символів в рядку?

— count()? str_len()? strlen()? mb_strlen()?

В документації ви знайдете для цього декілька функції, але насправді, все просто. Взагалі, в PHP багато функцій, які працюють однаково, спробуйте написати кілька рядків коду, не порадившись з наставником.

 

C JavaScript все інакше:

 var len = ('Hello world').length; 
console.log(len);

Ми бачимо, що JavaScript у той же час є порівняно чіткішим, маючи кілька основних тенденцій. Його об'єктно-прототипная модель привертає розробників, і здається, що синтаксис досить легкий, але це не так. Ви знайдете критику про математичні помилки (0,1 + 0,2 != 0,3) і динамічної типізації ('4' + 2 == '42' and '4' — 2 == 2). Але ці ситуації рідко викликають проблеми, і всі мови мають особливості.

PHP має безліч переваг, однак Node.js виграє з деяких причин:

1. JavaScript здається найбільш незрозумілою мовою в світі, але як тільки ви вловлюєте його концепцію, інші мови стають громіздкими порівняно з нею.
2. JavaScript виглядає мінімалістичніше, ніж PHP, вам не потрібно боротися з тим же UTF-8.
3. Full-stack розробники можуть писати код на JavaScript на стороні клієнта, так і на стороні сервера. Вам більше не потрібно перемикатися між технологіями.
4. Вивчаючи JavaScript, вам хочеться більше і частіше писати на цій мові, про PHP такого не можна сказати.

Оцінка суддів — PHP 2:1 Node.js

  • Бруно: Я категорично не згоден з цією точкою. Хоча PHP має свої особливості, багато з них були виправлені останнім часом, і багато дивацтв видалені в новітніх версіях. З іншого боку, точно таке ж є і в світі JS. Що до серверної частини, то тут я теж не згоден. Клієнтська сторона і серверна це різні речі, і в будь-якому випадку, доведеться перемикати свій мозок, на сервері такий же свій синтаксис, якщо ми пишемо Node.js, якщо ми пишемо JavaScript для браузера. Попрацювавши з JS і PHP, свого часу, перше мені подобається менше і менше, хоча це суто особисті переваги.
  • Джеймс: Я люблю JavaScript. Я знаю, вона має свої примхи, і я знаю, що є кілька підводних каменів, але ECMAScript 2015 року виправляє багато і додає цікаві нові функції в мову. JavaScript є одночасно потужною і гнучкою, і може вмістити багато різних стилів програмування. На відміну від PHP, я люблю писати на JavaScript. Node.js виграє в цьому раунді.

Четвертий раунд: інструменти розробника

Обидві технології мають хороший вибір редакторів, інтегрованих середовищ розробки, отладчиков, валідаторів та інших інструментів. Тут можна дати нічию, але все ж Node.js має прекрасний інструмент, npm — менеджер пакетів, c його допомогою можна керувати модулями і залежностями.

У PHP є свій менеджер пакетів, розроблений під впливом npm — Composer. Однак, якщо npm вбудований за замовчуванням, то composer доведеться вбудовувати самостійно. Завдяки npm широке поширення отримали Gulp, Grunt — системи збирання front-end проектів.

Оцінка суддів — PHP 2:2 Node.js

  • Бруно: У той час як composer був спочатку натхненний npm, то тепер він навіть краще, ніж npm. Composer не пошкодити вашу систему, якщо ви хочете встановити дві версії однієї й тієї ж бібліотеки, на відміну від npm. Також на відміну від npm, composer може встановити рекурсивні залежності, в той час як npm просто не можете зробити. Npm також має абсолютно жахливі повідомлення про помилки, які називаються «дружніми». Нарешті, npm не особливо працює з Vagrant, і тим самим перешкоджає вам почати роботу належним чином, не кажучи вже про те, що вони не звертають уваги на бажання своїх користувачів. Була присутня помилка, яка була відкрита протягом багатьох років, із-за чого користувачам це було не придатне на Windows — навряд чи це маленька користувача база. PHP має свою частку помилок, звичайно, теж дурні, але ті не відштовхували цілі ОС протягом багатьох років.
  • Джеймс: Я люблю npm. Його легко використовувати, і є тисячі пакетів, доступні для майже будь-якої потреби. Мені також подобається той факт, що npm дозволяє вибрати між глобальною та локальною установкою пакетів (на відміну від таких мов, як Ruby, де це стандарт для ваших дорогоцінних каменів). Такі інструменти, як bower і grunt мають постійне місце в моїй роботі, і збільшили мою продуктивність у багато разів.

П'ятий раунд: середовище

Де можуть бути використані ці технології. Як їх розгорнути? Якими платформами підтримуються? Веб-розробникам часто потрібно створювати додатки, які відносяться тільки до web, наприклад, розробка онлайн-сервісу, сценарії перетворення даних і т. д.

На PHP ви можете розробляти десктопні програми або консольні утиліти, але в основному PHP потрібен на стороні сервера і рідко виходить за межі цієї межі.

Кілька років тому, JavaScript використовувався виключно для браузера. З приходом Node.js ви можете писати десктопні та мобільні програми, а також можна програмувати та мікроконтролери. Node.js розширив кордони JavaScript.

Оцінка суддів — PHP 2:3 Node.js

  • Бруно: Ну, по-перше, ми порівнюємо з PHP Node.js, а не PHP з JS. По-друге, ми порівнюємо мови та середовища, де вони можуть працювати. Сказати, що мавпа краще, ніж риба, тому що рибі не вдалося піднятися на дерево — це просто нерозумно. Але і мавпа, і риба може плавати, так що давайте порівнювати, наскільки добре вони це роблять.
  • Джеймс: Кілька особливостей, які роблять Node.js таким популярним (швидкість, масштабованість, сумісність з JSON, низьке використання ресурсів), що дозволяють використовувати його для багатьох інших видів застосування, наприклад, в розробці мікроконтролерів (IoT). Я маю на увазі, хто не любить роботів?

Шостий раунд: інтеграція

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

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

Оцінка суддів — PHP 3:4 Node.js

  • Бруно: Тут я дам нічию. PHP має вікову перевагу, даючи йому більше можливостей, але і тут можна було постраждати від деяких застарілих інтегрованих речей, наприклад, розширення MySQL, від якого, нарешті, зуміли позбутися PHP7.
  • Джеймс: Не впевнений, що я згоден з цим. Я б сподівався на прикладі «старих, менш популярних в технології речами». Один з головних плюсів Node.js — він розуміє JSON. JSON є, ймовірно, найважливішим форматом обміну даними в Інтернеті, або взаємодії з NoSQL базами даних. Коли ви працюєте з Node.js дані можуть надходити акуратно шарами без необхідності переформатування. Ви маєте один синтаксис при спілкуванні з базою даних.

Сьомий раунд: хостинг і розгортання

Як легко розгортаються новенькі додатки на цьому веб-сервері? Тут ще одна чиста перемога PHP. Будь хостинг-провайдер підтримує PHP. Ви можете отримати MySQL базу даних за вигідною ціною. Тут PHP значно простіше пісочниці (локального сервера) і ви будете повідомлені, які PHP розширення відключені, а які ні.

Node.js зовсім інший звір, і він може працювати на стороні сервера постійно, без розриву зв'язку. Для цього, вам доведеться шукати спеціалізовані хостинги. Вам потрібно віртуальний хмара (VDS/VPS, серверна середовище, з повним доступом). На жаль, таке можуть собі дозволити не всі хостери, тому й ціни відповідні.

Оцінка суддів — PHP 4:4 Node.js

  • Бруно: мовчить
  • Джеймс: В майбутньому, Node.js багато надолужить. Як правило, веб-сервер PHP поширюється разом з MySQL. Щоб побачити якийсь php код, все, що вам треба зробити, це створити файл з розширенням .php і  завантажити файл на сервер, вказати в адресному рядку, шлях до цього файлу. Те ж саме можна сказати про Node.js. Є, звичайно, багато варіантів для хостингу Node.js, але вони незмінно вимагають більш детального налаштування і доступу до командного рядка, яка потенційно відштовхує початківців.

Восьмий раунд: продуктивність

PHP не сутулитися і є реальні проекти, і варіанти, які дозволяють PHP працювати швидше. Навіть найвимогливіший розробник PHP рідко турбується про швидкість, але продуктивність Node.js як правило, краще. Звичайно, продуктивність значною мірою є наслідком досвіду та командної розробки, однак, Node.js має кілька переваг:

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

2. Швидкий інтерпретатор
Node.js менше і швидше, ніж РНР. Це пов'язано зі спадщиною Google, який зробив величезний внесок у продуктивність движка JavaScript — V8.

3. Додатки працюють постійно
РНР виконує звичайну клієнт-серверну модель. Кожен запит сторінки ініціює застосунок, завантаження параметрів підключення до бази даних, вилучення інформації і відображення HTML-коду. В Node.js застосунок постійно працює і його потрібно ініціалізувати тільки один раз. Наприклад, можна створити один об'єкт підключення до бази даних, яка використовується повторно при новому запиті. Правда, є способи, реалізації такої поведінки і на PHP з використанням спеціальних систем, таких як memcached, але це не стандартна функція мови.

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

Хоч Node.js додатки помітно швидші, ніж PHP тут є і свої підводні камені.

Node.js / JavaScript працює в одному потоці, а більшість веб-серверів багатопотокові і обробляють запити паралельно. Написання асинхронного коду є складним і несе свої власні проблеми.

Оцінка суддів — PHP 4:5 Node.js

  • Бруно: Омани предостатньо. По-перше, обговорення продуктивності спірні. Будь який приріст продуктивності залежать винятково від досвіду розробників і типу програми. Але навіть якщо це повідомлення не є переконливим, ось деякі з моїх власних аргументів: PHP цілком працює з багатопотоковим вбудованим веб-сервером, це дозволяє не використовувати зовнішній сервер повністю, але це не рекомендується (поки що). Є також супер швидкі сервери, такі як Nginx, які роблять весь процес запуску PHP і делегування запитів до нього непомітними. Такі проекти, як HHVM і Appserver додають потужні асинхронні і багатопотокові аспекти, сам PHP7 з оновленням версії стане набагато могутніше колишнього. Так php застосунок отримує тільки статику, і живе лише один раз на запит, однак і це можна обійти: memcached, ajax. Серверні JS додатки працюють в одному запиті за замовчуванням. PHP ж потрібно постійно робити запити до сторінки, щоб оновити її, але більш того — життя одного запиту є тільки перевагою, так як ми робимо запит знову на PHP, наш застосунок відновлюється (кожен раз при запиті), коли воно використовується, тим самим ми уникаємо проблеми з пам'яттю, очищенням сміття.
  • Джеймс: Node.js поширюється як платформа з високою продуктивністю, низькою латентністю додатків. Завдяки неблокуючому механізмі введення / виводу і технології Google Chrome V8, Node.js став синонімом слів «швидкий» і «масштабований». Є численні історії про те, як Node.js приніс серйозний приріст продуктивності в компанії і підвищив продуктивність самих розробників. Я радий такому, але знову ж таки, це спірний момент.

Дев'ятий раунд: пристрасть програмування

Це трохи складно порівнювати, але деякі розробники PHP захоплені самим мовою. Коли в останній раз ви читали статтю по PHP або дивилися презентацію, яка полонила публіку? Можливо, все, що було сказано? Може бути, є менш захоплюючим? Може бути, ви не дивіться в потрібних місцях? Є деякі цікаві особливості, які з'явилися зовсім недавно, наприклад, поява — PHP7, але все ж ця технологія тупцювала протягом декількох років. Це позначилося на самій мові, багато розробники стали лаяти PHP.

JavaScript ділить співтовариство. Є ті, хто любить його і тих, хто ненавидить його, деякі розробники сидять на паркані. Тим не менш, відгуки Node.js були в значній мірі позитивні і технологія знаходиться на гребені хвилі. Це почасти тому, що вона нова, на даний момент, Node.js виграє цей раунд.

Оцінка суддів — PHP 4:6 Node.js

  • Бруно: Ви, безумовно, дивитеся не в тих місцях. PHP-спільнота неймовірно пристрасна і дуже активна. Є понад 20 великих конференцій в рік, а деякі дивовижні теми отримують свої обговорення. Появиление HHVM і PHP7 теж дає про себе знати. Крім того, я хотів би сказати, що це цікаво, коли бачиш, що розробники Node.js як і раніше не навчилися змінювати номери версій (версія v0.12.5 на момент написання статті), навіть після 6 років розвитку. Багато незрілості, в поєднанні з критичними, але ігноруємими старими помилками, можуть відштовхувати цілі операційні системи, все це є те, що серйозний розробник буде думати двічі. Мені не подобається Node.js. Моz неприязнь ґрунтується на негативному досвіді в основному при роботі з npm. Можливо все змінитися в майбутньому, але зараз, я сповнений страху і відчаю, коли мені доведеться ще раз використовувати Node.js. У всіх нас є свої переваги, але важливо, щоб все це залишалося об'єктивним, нам потрібно вибирати правильний інструмент для своєї роботи. Також важливо визнати, що іноді вибір правильного інструменту тягне за собою неправильний вибір іншого. Не слухайте нікого. Спробуйте самі — подивіться, що працює, з'ясуйте, що ви відчуваєте. У кінцевому рахунку, саме те, що ви робите змушує вас почувати себе продуктивним і це є кращим вибором, а не той вибір, який дає вам мілісекунди додаткового приросту.
  • Джеймс: У співтоваристві Node.js дуже гаряче. Існує багато відкриттів в Node.js-світі. Незважаючи на те, моя пристрасть є суб'єктивною, я радий, що Node.js виграв цей раунд.

Десятий раунд: майбутнє

Це не особливо важливо, яку мову ви використовуєте на стороні сервера, він все одно буде продовжувати працювати, навіть якщо проект покинутий. Багато продовжують використовувати PHP. Це безпечна ставка та її підтримка виглядає впевненою ще двадцять років.
При цьому ми знаємо, що сходження Node.js було швидким. Сучасний підхід до розвитку очевидний тим, що використовує той же синтаксис, що і на клієнтській стороні. JavaScript підтримує HTML5, веб-сокети. Node.js неминуче забирає частку на ринку, але PHP, я сумніваюся, що буде обганяти. Обидві технології мають велике майбутнє. Я заявляю, цей раунд закінчується нічиєю.

Оцінка суддів — PHP 5:7 Node.js

  • Бруно: мовчання.
  • Джеймс: Нічия була справедливим результатом цього раунду. Node.js є висхідною зіркою, але масивний PHP йому не повалити. На завершення можна додати, якщо ваш інструмент здається молотком, то кожна проблема здається цвяхом. Node.js не ідеально підходить для кожного сценарію, і справді краще багато разів подумати, коли і де, має сенс використовувати його. Тим не менш, там де Node.js поганий, це навіть дуже добре. Ви зможете зробити усвідомлений вибір і вибрати кращий інструмент для своєї роботи.

Абсолютний переможець

Остаточний рахунок 5:7 на користь Node.js. Node.js має круту криву навчання і не є ідеальним для початківців розробників, але він все ж виграє. Просто. Якщо ви грамотний JavaScript-програміст, який любить свою мову, Node.js не розчарує вас. Ви відчуєте себе свіже та отримайте визвольний досвід веб-розробки. Але не варто скидати PHP з рахунків. PHP живий, і є мало підстав ставити підніжку PHP, через те, що це виглядає модним. PHP простіше вивчити, ви зможете оволодіти професійними прийоми програмування, головне практика. PHP дуже легко розгорнути на сервері. Навіть вперті Node.js-розробники повинні використовувати PHP для простих сайтів і додатків.

Моя порада: оцінити варіанти і вибрати мову, заснований на ваші вимоги. Це набагато більш практичним, ніж покладатися на «за та проти»!

Помітили помилку? Повідомте автору, для цього достатньо виділити текст з помилкою та натиснути Ctrl+Enter
Коментарі (0)

    Ще немає коментарів

Щоб залишити коментар необхідно авторизуватися.

Вхід / Реєстрація