Livewire should be part of Laravel Core
Content Index
I want to tell you the central theme of this video: I believe Livewire should be included directly in the Laravel core. That is, as soon as we create a new project in Laravel, Livewire should be present by default. It's that simple.
Laravel is now component-ready
Why do I think this? Well, there are several reasons. Starting with the basics: Laravel already supports the use of components. We have two main types:
- Anonymous components, like the one you're seeing on the screen, which function as a slight evolution of what we have in views. They allow us to pass props and keep the code more organized.
- There are also class-based components, which give us even more power when structuring interfaces.
This already gives us a solid foundation for working with components, but Livewire takes it much further.
Livewire as a natural evolution
In our ongoing course, we've covered what Livewire offers: custom attributes, JavaScript events, SPA creation in Laravel, wire:model, wire:click, and more. All of this represents an evolution of traditional Blade components.
Mind you, I don't mean we should eliminate Laravel's core components. These are still very useful for simple tasks, such as defining button styles or displaying simple lists. For example, what you're seeing on the screen is a basic Blade component, without LiveWire, used to display a list or a detail. And it's perfectly fine.
When should you use Livewire?
But when we want to do more complex things—like having events, server requests without reloading the page, or working with more dynamic interfaces—Livewire makes development much easier.
Instead of making a traditional request or reloading the view, we simply use an attribute like wire:click and that's it. Everything is encapsulated, well organized, and managed by Laravel. That's why I think this would be a natural evolution within the framework.
And why not Inertia?
Now, many will say: why not include Inertia instead? This is where the second reason why I think Livewire is a better fit as the default option comes in:
- Inertia relies on external technologies like Vue or React, and both cannot be used in the same project.
- It would be confusing for new users to have to choose between Vue or React when creating a Laravel project from scratch.
- There would also be questions when returning views: do you render them in Blade, Vue, or React?
This would add unnecessary complexity, especially for beginners.
In contrast, Livewire is a parallel framework that integrates seamlessly with the Laravel core, without imposing external technological decisions.
Organization and productivity
Livewire boosts productivity. Especially in admin dashboards, CRUD form creation, status management, quick event responses, and more. I personally use it whenever I can because it helps me keep my code clean and organized.
Why isn't it included by default yet?
I understand that it may not be included by default due to the relationship that existed with Inertia in the past. Initially, they were "sister" technologies, but over time, they've taken very different paths.
Today, they even have different iconography, different operating cores, and if you look closely, there's not much similarity between the two anymore.
I agree to receive announcements of interest about this Blog.
I give you my reasons why I think Livewire should come with Laravel when creating a project.