The Livewire Mental Model
Livewire lets you write PHP classes that behave like frontend components — properties sync automatically with the DOM, method calls trigger over AJAX under the hood, and you never write a JavaScript fetch. Livewire 3 kept this mental model but rebuilt the network layer to be dramatically faster, adding lazy loading, locking, form objects, and wire:navigate (client-side routing in PHP).
What is New in Livewire 3
The headline features include: Alpine.js 3 bundled by default to stop version mismatches, a new JavaScript API ($wire) for calling Livewire methods from Alpine, form objects that encapsulate validation in a dedicated class, and the powerful wire:navigate directive that makes page transitions feel like a SPA without being one.
Laravel Volt — Single-File Components
Volt is the layer on top of Livewire 3 that gives you single-file component syntax. Instead of a separate PHP class and a Blade template, everything lives in one .blade.php file:
<?php
use function Livewire\Volt\{state, computed, rules};
state(['email' => '', 'name' => '']);
rules([
'email' => 'required|email',
'name' => 'required|min:2',
]);
$submit = function () {
$this->validate();
// handle form...
};
?>
<form wire:submit="submit">
<input wire:model="name" placeholder="Name">
<input wire:model="email" placeholder="Email">
<button>Submit</button>
</form>When to Use Volt vs Full Livewire Classes
Volt shines for small, self-contained components — contact forms, search dropdowns, toggle switches. When your component grows larger with dozens of methods, the traditional class approach is cleaner and easier to test. Think of Volt as functional components and traditional Livewire as class components — same engine, different ergonomics.
Conclusion
The combination of Livewire 3 and Volt represents the most compelling PHP-first stack available today. For developers who want rich interactivity without fully committing to React or Vue, this stack covers 90% of use cases with far less complexity.