Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Practical use of VueJS with Laravel

I'm starting a new large-scale application and after hearing a lot about VueJS + Laravel combination i thought of using it. I followed Laracasts' Learn Vue 2: Step By Step series and some tutorials to understand how it works.

But have few questions in mind:

  1. Why do we even need to use Vue with Laravel. I understand that we can create component like <user-profile></user-profile> in Vue, and then use it in Laravel Blade. But it looks like over-complication things? Firstly we pass data from controller to blade, and then further pass it to vue. Why do we need to do that?

  2. Laravel and Vue both have their own routing system. Which one to use?

  3. How to structure an app using Laravel + Vue

PS. I'm making an application that will mostly be used on mobile devices.

like image 716
Kanav Avatar asked Aug 22 '17 14:08

Kanav


Video Answer


1 Answers

moved from comment

Why do we even need to use Vue with Laravel.

Although you probably already knew, Vue is just one of many javascript frontend frameworks (libs?) You can consume the data send from the server any way you want. Vue is just the sister-framework of Laravel. The only thing you can probably say as to why they are mentioned together is that you can "talk" (interface) easily between them using json objects. Javascript is meant to make your page interactive, have behaviour. Use it when you need this.

Laravel and Vue both have their own routing system. Which one to use?

Whatever you want, do you want a "single page" (blade) that is rendered in 3 different pages by Vue, say like some kind of Wizard form. It really depends on where you want to put the load. I think you can think of use-cases where client side page rendering would be better, but most of the time server sided will be a great choice.

Single page applications are more snappy (faster) after initial load, but server side rendered applications are better for SEO in general. There are also ways to let a SPA render on the server to improve SEO however. And this we we can keep the discussion going for some while.

How to structure an app using Laravel + Vue

Laravel has already an example vue file under resources/assets/js/app.js. So it is safe to assume you can put everything there.

like image 154
online Thomas Avatar answered Oct 17 '22 03:10

online Thomas