Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

Emil_Aa's avatar

Laravel + vue.js + ? šŸ˜… (what's best practice ?)

I've recently started to learn Laravel and im left wondering how to exactly grasp all the new features it brings.

I've decided I want to use vue.js with Laravel for creating components and using them in my layouts, but as I understand, vue brings some features that Laravel already has i.g routing. Because this Language is so new to me, it leaves me with a lot of questions:

  1. When do I use vue, and when do I use Laravel?
  2. Which router am I supposed to use?
  3. In my short time as a web dev, I've grown fond of using component based libraries like bootstrap which is the only one I have experience with. But I see a lot of these videos introduce different libraries like bulma, tailwind and Vuetify, so what's the best one, or which one am I supposed to start with? what works best with vue?

I think im a bit overwhelmed by all the new features 🄓

Best regards

0 likes
13 replies
Wakanda's avatar

@emil_aa when building full-stack applications its better to use Laravel, inertia and vuejs

and when building an API u can then use vue and its native goodies

1 like
Emil_Aa's avatar

and which router am I supposed to use?

Wakanda's avatar

@emil_aa when developing full-stack app meaning when you have everything in laravel folder SSR you can use inertia for routing and SSR and when you have developed an API you can use vue router

1 like
Wakanda's avatar

@emil_aa you can use the web.php laravel router and inertia takes care of the rest and make sure u are using inertia to render views in your controller

web.php also works when you are using blade, livewire and so on

1 like
Emil_Aa's avatar

what is the upside to integrating inertia? what plusses does it bring to the stock Laravel app?

Emil_Aa's avatar

Also what sort of component library do you recommend for vue? is tailwind best, a lot of Laracasts use that one? what about Vuetify, bootstrap & Bulma? @wakanda

martinbean's avatar
Level 80

@emil_aa ā€œBest practiceā€ is to pick technologies that are going to solve a problem, and not throwing them into your project just ā€œbecauseā€.

If you’re new to Laravel, build a Laravel application from start to finish. Get to grips with how it works, its router, controllers, models, Blade templates. When you can retrieve and persist data to a database via models, then look at adding enhancements with something like Vue.

but as I understand, vue brings some features that Laravel already has i.g routing

Vue has Vue Router, but you don’t need to use Vue Router. Vue is just a JavaScript component library. You can use it to add interactive elements to a page, rather than building your whole application in Vue.

3 likes
Emil_Aa's avatar

@martinbean Thanks for that clarification, what do you suggest I use for creating my HTML components?

If my goal Is to implement vue, what CSS framework should I learn? I've read about Vuetify on vue.js site, but a lot of Laracasts use tailwind CSS?

topvillas's avatar

Vuetify isn't a CSS framework, it's a component library that uses material design.

Tailwind isn't really a framework either, it's a utility based library which just takes a lot of the grind out of using CSS.

If you're just mucking about with ideas as a learning exercise then use Bootstrap.

1 like
Wakanda's avatar

@emil_aa I would suggest tailwind CSS since laravel ships with it out of the box, its also easy to learn, and it is becoming popular daily and it is highly customizable not to mention hundreds of components available for free that can enable you to rapidly create UIs

1 like
Emil_Aa's avatar

@wakanda, @martinbean & @topvillas

Thank you all three that really helped with some of the confusion, I will crack on learning Laravel. It's so much fun writing code in this framework.

Please or to participate in this conversation.