Актуально ли изучать nodejs для бекенда или лучше оставаться на php?

Что стоит изучать для построения бекенд части сайтов - php или node? Знаний базовых достаточно и там и там, работал немного с laravel и slim, немного пощупал node, хочу пройти проекты от хекслета и не могу определиться с выбором направления. Где-то слышал, что node начинает сдавать свои позиции, и что изучать его не стоит, правда ли это так или это злые сплетни?
  • Вопрос задан
  • 5726 просмотров
Решения вопроса 1
FanatPHP
@FanatPHP
Чебуратор тега РНР
Изучать надо программирование.
Все эти вопросы, "Какую машину лучше учиться водить - Рено или Фольксваген?" - это детский сад, честное слово.
Если для вас потолок - это несколько десятков встроенных функций одного языка, то всё равно что учить - ковыряться помаленьку можно на любом.
Программист же мыслит не инструкциями, а алгоритмами, паттернами, потоками данных, структурами объектов, шинами сообщений. На каком языке это все реализуется - не принципиально.
Ответ написан
Пригласить эксперта
Ответы на вопрос 5
@latush
Изучайте Go, он как раз сейчас входит в моду)
Ответ написан
@asd111
Одно другому не мешает. Часто бывают проекты где основная часть на php и небольшая часть с вебсокетами на nodejs(например чат или оповещения).
Javascript развивается, поэтому nodejs актуален для вебсокетов. Для обычных сайтов он конечно почти не используется.
Ответ написан
Anubis
@Anubis
Люблю корейскую кухню и веб-разработку
Не могу сказать что лучше с точки зрения производительности/ресурсоэффективности в сценарии "получи http-запрос, отдай ответ", но имхо нода как минимум удобнее. Правда, я от пхп уже отвык и не писал на нём ничего уже лет 5.

Что до сценария "постоянно запущенное приложение, умеющее держать соединение и общаться с клиентами и другими службами в реальном времени", то тут пхп просто за бортом.

Учи, не прогадаешь.
Ответ написан
"интересуюсь веб-разработкой" - в вашем случае надо брать что угодно, но одно и подтянуть это до приличного уровня. В идеале, что бы рядом было комьюнити (друзья, коллеги) которое вам поможет и подтянет. После, взять новый язык будет не проблема.
Ответ написан
Комментировать
alexfilus
@alexfilus
Senior backend developer
Язык, как и фреймворк - это инструмент, и для разных задач лучше подходят разные инструменты. Никто не мешает забивать гвозди пассатижами. но зачем, когда есть молоток?
Говорить что Ноду стоит учить, а РНР нет, или наоборот - некорректно.
Просто надо помнить что JS асинхронный и запущенный процесс висит в памяти постоянно. А у РНР процесс запускается, на каждый запрос, отрабатывает и умирает (я знаю что есть исключения, но они требуют дополнительных библиотек и языки задумывались не так).
Оба этих подхода имеют как плюсы так и минусы, надо решить что больше подходит именно Вам.
И как писали выше, весь бэк на РНР, а сокеты на Ноде - вполне типичный сценарий.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы