Inertia vs Livewire
Published on by Eric L. Barnes
Should you use Laravel Livewire or Inertia? The question comes up often, and it's easy to confuse one over the other. Especially with Livewire now being hosted at livewire.laravel.com. So to help make it clear the differences between the two, Taylor outlined everything in this tweet:
It's come up a few times lately so I want to clarify something regarding Livewire "vs." Inertia - and a few things about Inertia in general.
Comparing Livewire to Inertia doesn't make sense. You should compare Livewire to Vue or React.
Why? Inertia isn't a frontend framework. It is a JSON protocol specification (https://inertiajs.com/the-protocol) that allows backends (not just Laravel!) to communicate to a React / Vue / Svelte frontend what page to load and with what data.
The various Inertia backend and frontend libraries essentially just provide helpers for working with that protocol.
When viewed with that understanding, Inertia is "complete software".
At heart, it is a wire protocol specification to allow you to build Laravel + React / Vue / Svelte apps monolithically - and it does that well. It is 100% complete in that regard. It solves the problem it set out to solve.
That means it is stable. You should not expect it to get loads of new features. Why? You are using Inertia in order to use Vue or React as your frontend framework.
Remember, Inertia is primarily a wire protocol. Instead, you should be keeping up with what new features Vue or React are getting.
Thank you. 😅
To sum it up. If you want to use Vue, React, or some other JavaScript framework, use Inertia if you don't consider Livewire.
Eric is the creator of Laravel News and has been covering Laravel since 2012.