@CaptainJustness

Что лучше Laravel или Lumen для REST API?

И так, необходим универсальный backend API для frontend ReactJS и native android, ios.
Важные критерии: oauth, регистрация, авторизация, роли допуска, рассылка писем, пагинация

Сначала я начал разрабатывать на Lumen, поставил необходимые пакеты (flipbox/lumen-generator, dusterio/lumen-passport, dingo/api, barryvdh/laravel-cors) и задался вопросом - не превратил ли я его в Laravel по сути, и хватит ли мне его? Потому что мне нужно будет делать email рассылку, а значит надо еще и прикручивать blade. К тому же кто-то писал, что dingo/api плохая вещь.

Тогда решил попробовать делать на Laravel. Накатил сразу ReactJS через mix laravel. Пришлось установить только laravel/passport, также изменить class Handler extends ExceptionHandler, чтобы ошибки возвращались в json формате. И еще всякое изменить.. и тут я задался вопросом - а правильно ли, что я перешел на laravel? Не покидает ощущение, что 90% возможностей не будет использоваться, такие как сессии, web-часть и т.д. а следовательно зря тащиться каждый раз в проекте и мусорить.

И вот я снова в подвешенном состоянии, на чем продолжить делать. Да, бы мог на любом тяп-ляп сделать и все, но я хочу грамотно и определить для себя хорошую архитектуру.

Прошу не отвечать в таком виде: "делай на laravel" или "делай на lumen". Я хочу увидеть аргументированные ответы и ваш опыт.
  • Вопрос задан
  • 1479 просмотров
Пригласить эксперта
Ответы на вопрос 4
Wolfnsex
@Wolfnsex
Если не хочешь быть первым - не вставай в очередь!
а значит надо еще и прикручивать blade
Не значит.

К тому же кто-то писал, что dingo/api плохая вещь.
Вас никто не заставляет его использовать, если он плохая вещь.

но я хочу грамотно и определить для себя хорошую архитектуру.
Хорошая архитектура начинается с постановки конкретных задач и требований, а в данный момент у Вас нет вообще никаких конкретных требований - можете делать на чём угодно, для данных условий подходит любой вариант.

аргументированные ответы и ваш опыт.
Мой опыт подсказывает мне, что Lumen был изначально придуман для максимальной скорости работы, что обычно важно при написании таких сервисов как различные REST/API-серверы, особенно при больших нагрузках на оные.

а следовательно зря тащиться каждый раз в проекте и мусорить
Обычно то, что Вы называете "мусором" лежит в тех папках, в которые программисту лазить по определению не положено. Но, если ставить вопрос именно так то "мусор" будет в любом случае, не зависимо от выбора фреймворка.

P.S. Возвращаясь к вопросу "архитектуры" - сначала пишут задачу, потом требования, а потом под эти требования подбирают решение, которое подходит под эти требования. Если Вы начнёте работать именно по такому принципу - вопросы подобные этому будут отпадать сами собой, раньше чем будут появляться.
Ответ написан
FanatPHP
@FanatPHP
Чебуратор тега РНР
Именно поэтому подход Симфони 4 рулит. Выбираешь только те компоненты, которые нужны.
Ответ написан
Комментировать
evgensenin
@evgensenin
Yii2 || Laravel, vue & nuxt
Нужно решить что в приоритете - быстро писать (Laravel) или мнимая производительность (Lumen)
В свое время тоже пробовал оба варианта и мне показалось, закомментить неиспользуемые части в Laravel быстрее, чем прописывать недостающие пакеты и конфиги в Lumen
"ломать не строить"
Ответ написан
Комментировать
@MiyRon
Я человек из 2021. Если вы пишите микросервис или просто rest используйте lumen из него убрали очень многое того что необходимо в монолите и изменили некоторые механики которые более удобны для rest-api. Например валидатор при ошибках теперь не перенаправляет вас, а возвращает ошибки валидации клиенту в формате json. В общем lumen это выбор для микросервисов, а laravel для монолитов. Хотя и на laravel можете писать микросервисы.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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