The four architectures differ in what travels over the wire after the first page: a whole new document (Blade), a re-rendered HTML fragment (Livewire 2,157 ), JSON naming a JavaScript page component and its props (Inertia 515,106 ), or plain API data for a client that owns its routing (a separate SPA).

| Blade only | Livewire 4 | Inertia 3 | Separate SPA | |
|---|---|---|---|---|
| UI written in | Blade + a little JS | PHP + Blade (+ Alpine) | React 7,897 , Vue 5,482 or Svelte 36,701 | Any JS framework |
| Routing | Laravel 2,157 | Laravel | Laravel | Client router + API |
| Authentication | Session | Session | Session | Sanctum 2,988 tokens or SPA cookies |
| Per interaction | Full page load | Round trip per action | JSON per visit; UI state local | API calls; UI state local |
| Best suited to | Content sites, admin forms | PHP teams, dashboards, CRUD | JS-fluent teams, app-like UIs | Mobile + web clients, separate teams |
Start with Blade and add Livewire where a page must react. Choose Inertia when the team writes React or Vue, or the UI holds much browser state. Build a separate SPA only when a mobile app or another team shares the API, accepting two deployments and cross-origin authentication (Sanctum for SPAs). laravel new offers four official starter kits, React, Svelte and Vue on Inertia 3 and Livewire 4 with Flux UI, all using Fortify 1,761 (compared in The Four Starter Kits Compared).