LINUX.ORG.RU

Laravel/PHP или Express/Node.JS, что выбрать?

 , ,


0

3

Не могу выбрать на чем делать бекенд проекта. Сама суть проекта это CMS Магазинов (допустим). Бекенд будет заниматься отдачей статичных файлов(ngnix), и формированием данных в виде json (список товаров, склады, клиенты, магазины, заказы), весь UI будет отрисовываться во фронтенде через Vue.JS. Такой BaaS и SPA. Делается для того, что бы когда будет разрабатываться мобильное приложение уже был готов API. В общем что посоветуете из этих вариантов? Думал еще про Rails (очень понравились, но особой разницы с PHP я не заметил, смотрел поверхностно)

Без разницы. На чем умеешь на том и пиши.

ritsufag ★★★★★ ()

На бекенде nodejs хорош только для маленьких и «среднемаленьких» проектов (но тут все хороши). Захочешь писать крупный бекенд проект на nodejs - начнешь жалеть об этом тогда, когда быстро уже не перепишешь. Главная причина - ограниченность JS, которая не позволяет MVC.

А вот фронтенд-ориентированные вещи на nodejs писать удобнее всего. Для крупных проектов сейчас часто делают связку nodejs для фронтенда + что-то для бекенда (java, php, etc.). Пишешь API отдельно, фронтенд отдельно. Если это кажется на данный момент слишком сложным, не делай этого.

Laravel - прекрасный выбор, если не лучший. Бери и не прогадаешь. В нем есть все, что может понадобиться.

anonymous ()

Laravel это же ActiveRecord, уж лучше Symfony.

bedman ()

Кстати, если уже речь о ноде зашла - актуальны вопросы:

+ какие известные проекты и сайты (особенно крупняк) сделаны на ноде.

+ как у ноды с многопоточностью

anonymous ()
Ответ на: комментарий от anonymous

как у ноды с многопоточностью

А как у похапэ с многопоточностью?

makoven ★★★★★ ()
Ответ на: комментарий от makoven

там, насколько мне известно http-сервер отдельная подсистема в отличии от ноды

anonymous ()

Сейчас основная работа идёт на фронтенде. От бекенда нужно только по сути данные гонять туда сюда, может какую-то бизнес логику скрыть на сервере и... и всё. Нет смысла использовать php ради php, когда можно на js сделать тоже самое и оно будет быстрее.

th3m3 ★★★★★ ()
Ответ на: комментарий от anonymous

Ну так-же можно и несколько процессов с нодой запустить и балансировать nginx-ом или haproxy

makoven ★★★★★ ()
Ответ на: комментарий от anonymous

Что не так с ActiveRecord?

Есть дурачки, которые думают что он привязан к SQL.

no-such-file ★★★★★ ()

весь UI будет отрисовываться во фронтенде через Vue.JS

Через год Вуе устареет и придётся весь сайт переписывать. Тоже самое уже было с ангуляром.

atenuouslead ()
Ответ на: комментарий от atenuouslead

Через год Вуе устареет и придётся весь сайт переписывать. Тоже самое уже было с ангуляром

А что, как только он устареет, сразу перестанет работать?

no-such-file ★★★★★ ()
Ответ на: комментарий от atenuouslead

Фреймворк vanilla.js никогда не устареет. В новой версии у него появились веб компоненты

makoven ★★★★★ ()
Ответ на: комментарий от no-such-file

Глюки полезут в новых версиях браузеров. А патчить не модный фрейворк никто не будет, не найдётся людей.

atenuouslead ()
Ответ на: комментарий от atenuouslead

А патчить не модный фрейворк никто не будет, не найдётся людей.

А есть примеры глюков в новых браузерах на «не модном» ангуляре?

no-such-file ★★★★★ ()
Ответ на: комментарий от anonymous

Все что сделано на основе ORM - ненужно. Хотя для тех, кому query plan не важен, вполне подойдет.

bedman ()
Ответ на: комментарий от atsym

интересно как можно о нем забыть, если ему всеравно писать фронтенд на js? лучше уж фуллстек на js

umren ★★★★★ ()
Ответ на: комментарий от anonymous

какие известные проекты и сайты (особенно крупняк) сделаны на ноде.

  • duckduckgo.com
  • imgur.com
  • paypal.com
  • ionicframework.com
  • sitepoint.com
  • paytm.com
  • coursera.org
  • flickr.com
  • divar.ir
  • unsplash.com

Взято отсюда.

peeroon ()
Ответ на: комментарий от peeroon

Целиком на ноде? А то, быть может, они ею только фронт-энд собирают.

anonymous ()
Ответ на: комментарий от anonymous

конечно нет, flickr на php, paypal на java, coursera на java писаны, а на ноде там может быть одно апи реализовано только ;)

umren ★★★★★ ()
Ответ на: комментарий от bedman

дык доктрина от симфони это тоже орм

все хорошо в меру - орм в умеренных количествах не выглядит чем-то мешающим ...

anonymous ()
Ответ на: комментарий от anonymous

фронтенд-ориентированные вещи на nodejs писать удобнее всего

поясни что ты в это вкладываешь, пожалуйста

Nicholass ★★★ ()
Ответ на: комментарий от makoven

Подозреваю, что с точки зрения многих, там своеобразная кривая вхождения.

Nicholass ★★★ ()
Ответ на: комментарий от Nicholass

Подозреваю, что лет через 5 все такие «о, появился новый крутой язык Go И он круче похапэ»

makoven ★★★★★ ()
Ответ на: комментарий от makoven

к тому времени будет полно примерном всяких todomvc и туториалов на хабре «пишем свое %поделие% на голанге» - тогда и порог вхождения будет ниже.

Nicholass ★★★ ()
Ответ на: комментарий от anonymous

Главная причина - ограниченность JS, которая не позволяет MVC.

ЩИТО?

static_lab ★★★★★ ()
Ответ на: комментарий от th3m3

Угу. А потом хитрая обработка связей между моделями, а потом хитрые сессии, а потом предзаполнение шаблонов для скорости отрисовки, а потом серверсайд рендеринг... И нечитаемого говнокода в разы больше, чем если бы человек не брал ноду.

Shadow ★★★★★ ()
Ответ на: комментарий от bedman

ORM же разные бывают. И вообще, мне оно только для связи с моделями нужно.

Shadow ★★★★★ ()
Ответ на: комментарий от Shadow

Нужно стараться делать всё по уму. На худой конец, взять Django.

th3m3 ★★★★★ ()

Больше всего нужных библиотек для бэкенда на php и python

Js просто не предназначен для удобной разработки сервераной части, пока, и это не говоря про ущербность самого языка

ism ★★★ ()
Ответ на: комментарий от Nicholass

Посмотри, как сделали mobile.twitter.com, например. Все приложение написано на react + nodejs. Когда делаешь первый запрос, страница рендерится на сервере. А затем просто подгружает новые данные. Почти весь код, который генерит/модифицирует HTML, будет исполнятся и на сервере, и на клиенте. Раньше nodejs не давал толком преимуществ от того, что на бекенде и на клиенте был один язык. Сейчас с React и другими фреймворками это уже удобно.

anonymous ()
Ответ на: комментарий от anonymous

Раньше nodejs не давал толком преимуществ от того, что на бекенде и на клиенте был один язык

Помню в далеких 2015-х запердолил коллекции Backbone на бэкенд. Зачем? Потомучто все вокруг галдели про переносимость кода. Стадный инстинкт - сила )

makoven ★★★★★ ()
Последнее исправление: makoven (всего исправлений: 1)
Ответ на: комментарий от th3m3

Просто «взять ноду, потому что JavaScript» абсолютно неправильный аргумент. Нужно понимать, зачем нужен бэк и чем он будет заниматься. И как подобные задачи УЖЕ решены: если большинство хороших решений на условном коболе, то даже не зная кобола, в 99% будет правильнее для быстрого старта взять кобол, чем костылить на ноде.

Shadow ★★★★★ ()
Ответ на: комментарий от Shadow

Если у нас Rest во всё поля, а его сейчас пихают везде. То почему бы и нет? Может дело привычки.

th3m3 ★★★★★ ()
Ответ на: комментарий от th3m3

REST должен иметь под собой модель данных. Хорошо продуманную. По мне, так порой даже на R удобнее делать, чем на JS (это гипербола)

Shadow ★★★★★ ()
Ответ на: комментарий от anonymous

все, понял, ты nodejs имел ввиду в контексте серверного рендера.

Nicholass ★★★ ()

Nodejs рип по сути. В 2015году немного хайпанули, а сейчас плагины, которые были в 15м популярны, помечены как deprecated.

В общем мой вердикт бери PHP 7 / Yii2. Разработчиков на Yii2 в РФ гораздо больше, дока лучше и по мне как-то он живее что ли. Пишу и на Yii2 и на Laravel, первый мне предпочтительнее. Хотя если берешь Laravel, брал бы уж Symfony. Laravel это как ElementaryOS в мире PHP фреймворков

fman2 ()
Ответ на: комментарий от th3m3

А что мешает сделать Rest в PHP? В Yii2 поддержка Rest есть из коробки. Эта же технология не зависит от языка :) Его хоть на C++ Делай.

fman2 ()
Ответ на: комментарий от fman2

Да хоть на Rust. Там не совсем про это речь шла. А о том, что часто от бекенда нужен только REST API, остальная движуха на клиенте.

th3m3 ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.