
Laravel Breeze
alberto • January 3, 2021
kitLaravel Breeze è uno dei due cosiddetti starter-kit, insieme a Jetstream. Tra i due, Breeze, è sicuramente il fratello minore ma non per questo non merita attenzione.
Starter cosa?
Gli starter kit rappresentano delle estensioni al framework che offrono all'utente funzionalità già implementate, che richiedono solo una personalizzazione per adattarsi alle richieste di un eventuale cliente.
Laravel Breeze offre una implementazione out-of-the-box per le seguenti funzionalitá legate al tema dell'autenticazione:
- login
- registrazione
- reset della password
- invio di mail di verifica
- invio di mail per conferma password
Installazione e stack tecnologico
L'installazione di Breeze è triviale:
composer require laravel/breeze --dev
php artisan breeze:install
npm install
npm run dev
Questi comandi ci permettono rispettivamente di scaricare la dipendenza tramite composer (notare il flag --dev che marca il pacchetto come non necessario in ambienti di produzione), l'esecuzione di un comando artisan, l'installazione delle dipendenze frontend e la compilazione di queste ultime.
Al termine di questo processo dovremmo trovarci una applicazione arricchita di:
- un nuovo file di rotte (auth.php) e la relativa inclusione in web.php
- una serie di Controllers per gestire le varie rotte
- le relative views
- una request LoginRequest
- due ViewComponent per i due layout (App e Guest)
- una installazione base di Tailwind
- una installazione base di AlpineJS
Basta quindi navigare su /login
o su /register
per rendersi conto delle nuove funzionalità.
Super semplice. Super ben implementato.
Breeze vs Jetstream
Laravel Breeze è sicuramente un prodotto passato in sordina che ha di fatto sostituito quello che nelle precedenti versioni del framework era laravel/ui
.
Il fratello maggiore, Jetstream, ha sicuramente avuto più spazio e visibilità soprattutto perchè portava novità evidenti sia da un punto di vista tecnologico che funzionale.
Personalmente, nonstante ritengo Jetstream un buon prodotto, lo vedo poco utilizzabile nella "vita di tutti i giorni". Questo perchè è troppo ciccione, offre troppe funzionalità out-of-the-box, spesso inutili, e lo stack tecnologico utilizzato mi è sin da subito sembrato poco maturo, nonostante offra una duplice opzione Livewire vs Inertia.
Per queste ragioni, nella pratica, mi trovo meglio con Laravel Breeze e per questo ho voluto dargli maggior spazio grazie a questo articolo. La configurabilità e la chiarezza, in un ambito importante come quello dell'autenticazione, sono elementi chiave che, ad oggi, mi fanno preferire tra i due fratelli, il più piccolo.