Довольно давно пишу на laravel + blade + кастомные js классы, но понимаю что пора от этого уходить. Фронт на vue.js в стиле композиции и разделением на компоненты выглядит слишком удобно.
Изучил vue 3.
Но вот что меня сильно смущает так это тонны доп. запросов и неудобное разделение по страницам (например могут быть подгружены или как минимум найдены энтузиастами компоненты, о существовании которых лишним людям знать не стоит).
Суммарно:
- Хотелось бы иметь серверный рендеринг (ssr), там, где это необходимо. И передавать часть данных вместе с 1 запросом, без лишнего через api.
- Удобно разграничивать компоненты и контролировать маршруты
На данный момент я смотрю на
2 варианта:
Inertia для laravel и
Nuxt.js.
С 1 стороны Inertia предлагает всё что мне нужно из коробки, но у меня есть сомнения, во первых не хуже ли там оптимизации ssr? и почему так редко встречаются вакансии с ней?
С другой, на сколько я понимаю Nuxt.js для рендеринга на стороне сервера будет полностью отдельным серверным приложением, а laravel учувствовать как api, в компоненты не передать данные из контроллера, всё будет строиться на api, что повлечёт такие раздражающие меня доп. запросы.
Прошу подсказать подробнее, какие плюсы и минусы у обоих вариантов, особенно интересует ресурсозатратность рендеринга на сервере и причины популярности того или иного подхода.
В процессе поиска информации назрел вопрос, если реализовать nuxt, как независимое серверное приложение (я так понял для ssr др. вариантов нет), можно ли будет ДИНАМИЧЕСКИ ограничить доступ к компонентам на стороне сервера, в зависимости от обработки внутри laravel?