Что думаете о Livewire и Inertia.js?

В последнее время в сообществе Laravel набирает популярность Livewire и Inertia.js как компоненты для генерации фронта на стороне сервера. Вижу очень много статей и туториалов, а в последнем инсталлере Laravel вообще завезли выбор между ними.

Хотел бы почитать опыт тех кто уже использует их в проде. Какие плюсы, минусы, подводные камни? Достаточно ли они стабильны? Как гладко проходит переход на новые версии? Как себя ведут оунеры проектов на гитхабе? и т.д.

P.S. Да я знаю, что монолит это плохо. Да я знаю, что лучше фронт выносить в отдельный проект. В этом вопросе меня интересуют только эти 2 компонента.
  • Вопрос задан
  • 6856 просмотров
Решения вопроса 5
Insolita
@Insolita
Отчаянная домохозяйка
Про inertia почти ничего не скажу. Про livewire - Для mvp, низкобюджетных стартапов, инди-проектов, того что по умолчанию для ограниченной аудитории и не должно быть слишком нагруженным, админок каких-то... вполне себе вариант.
Для более серьёзных вещей и с расчетом на перспективу - я бы оставалась на проверенных технологиях.
Из подводных камней - с технологической стороны - дикое смешение ответственностей. С практической - каждый чих изменения в интерфейсе - та же кнопочка счетчика, смена таба, или еще чего, реализованного без православных скриптов - это запросы на сервер. И еще - серьёзный локинг на этих технологиях, их апдейтах.
А конкретно tailwind мне таки зашёл, если его с умом готовить и выносить наборы в scss. В компании с purgecss на выходе можно получить очень лёгкий css файлик. Но он обязательно в компании с компонентами - блейд, или js -фреймворков (И это, разумеется с позиции бекендера. Если на проекте есть заведующий фронтом - то ему и править балом).
В любом случае я бы посоветовала не полагаться только на мнение других, а покрутить и пощупать всё самому. Как минимум - они на хайпе, и значит есть вероятность что все равно с ними столкнётесь рано или поздно
Ответ написан
Комментировать
Alex_Wells
@Alex_Wells
PHP/Kotlin
... в каком контексте? Быстро собрать МВП - сойдет.

А так - я даже говорить не буду про отсутствие типизации, очевидную сложность поддержки как только нужно будет сделать что-то сложнее базового раутинга, излишне большие пейлоады, Vue.JS как фреймворк...

Двух минут достаточно, что бы понять, что на этом говне ни в коем случае нельзя строить реальный проект. Напоминает мне Laravel и все его суб-проекты (типа Laravel Nova) в целом - вроде все круто и радужно, пока твой проект размером с пару страниц. А как только хочешь больше - начинаешь желать избить Тэйлора и других контрибьюторов.
Ответ написан
Комментировать
agoalofalife
@agoalofalife
Team Lead
И тот и другой инструмент под свой круг задач вполне подходит.
Livewire - как вам ответили выше, хорошо подходит mvp, небольших сайтов, где нет большой нагрузки и грандиозных планов.
Хотя кто-то берет на себя риски и делает все на нем. Из подводных камней, это у вас связаны руки в js, так же на каждое действие, он будет слать запрос на сервер. То есть написали букву в input, запрос на сервер(хотя можно оптимизировать, но тем не менее), в итоге получается такой оверхед на все.
Стоит иметь в виду о смеси ответственностей, точнее livewire будет вас постоянно склонять к этому, так как в классах php у вас постоянно логика фронта.
Еще могут быть не очевидные проблемы, при синхронизации данных, и вам надо будет подставлять задержки.
У меня была проблема с загрузкой файла, в кратце есть две настройки в вашем php.ini и отдельно в файле livewire, в каждом стоит свое максимальное значение размера файла.
Так вот- грузил я картинку по событию change, после загрузки была написана валидация, в кратце файл не грузился и в блок с валидации было пусто.
Проблема заключалось в том, что livewire не как об этом не сообщал и не намекал, просто не грузил файл и валидация не проходила.
Так что будьте готовы решать такие нюансы.
Мой субъективный опыт получился двоякий, с одной стороны мне понравилась скорость, с другой стороны что-то не работает, возможно это временно пока все шишки не набьешь.

С Inertia опыт пока только теоретический, но он уже ближе к нормальному стеку. Просто вам не надо думать о роутинге, api, вывода ошибок.
Врать не буду, ибо фраза:
В теории нет разницы между теорией и практикой. А на практике есть

Поэтому я дополню свой ответ позже - если посчастливиться его попробывать

Вывод
Рекомендую попробовать оба варианта несколько раз, тогда вы составите для себя полноценное мнение об этих инструментах.
Любой продукт который поддерживается и используется сообществом - уже лучше N фреймворка который знаете вы и еще двое людей.
Повторюсь еще раз, имеет место быть, так как для всех копеечных проектов которые живет два понедельника - писать spa - очень дорогое и бессмысленное удовольствие.
Ответ написан
Комментировать
uonick
@uonick
Сгибатель бананов
Вот что сам Тейлор об этом говорит https://www.reddit.com/r/laravel/comments/ip7apa/t...
Ответ написан
@jazzus
Livewire это конечно 100% костыль. Для тех кто не хочет/не умеет с js, но блин как с ним все быстро))
юзал на двух фичах с формами - разработка моментальная. Ни роутов не надо, ни компоновки json, ну и без программирования js. Очень быстро.
От vue конечно отказываться не стоит, но если что-то запилить по быстрому без перезагрузки то можно поиграться.
И у этого костыля даже свои тесты есть))
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы