Связка Laravel и Vue

Июль, 2024

Запрещённые слова, Холивар

Нет никакой магической связки между Laravel и Vue. Они не созданы друг для друга. Забудь навсегда этот бред.

Когда кто-либо пишет о "связке backend и frontend", то таким образом он показывает незнание основ работы web-приложений.

Клиентская часть (frontend) взаимодействует с серверной частью (backend) по HTTP.

Не важно что на фронте: Vue, React, Angular и т.п. и что на бэке: Laravel, Symfony, Django, Spring, .Net и другие - принцип работы не меняется.

Laravel - backend фреймворк. Vue - frontend. Даже если ты пишешь vue в blade, то программно это никак их не связывает между собой. Js выполняется на клиенте, php - на сервере.

Пишешь html в blade? Ок, но blade не выполняет html, его читает клиент, а сервер возвращает обычный текст с заголовком Content-Type: text/html

Раньше Vue шёл из коробки с Laravel?! Не совсем. Он просто был указан в зависимостях package.json и имел компонент для примера. Всё, никакой логики и "связок", даже не было форм логина и регистрации. Возможно, имхо, это была маркетинговая компания по рекламе Vue. Начиная с 6 версии, фронта из коробки всё меньше и меньше, как и должно быть в backend фреймворке.

Связкой можно назвать пакет Inertia.js, но он лишь "сглаживает углы", а общий принцип не меняется: есть клиент, есть сервер, общение по HTTP. И Inertia - это не обязательно Vue, но и React.

Laravel + Vue действительно популярный стек на текущий момент, но популярны они не из-за каких-то интеграций и магического функционала. Это просто хорошие и удобные инструменты с низким порогом входа, поэтому с ними так легко и приятно работать.