Qué es Laravel Breeze y cómo se utiliza

Laravel

El lanzamiento de la octava versión de Laravel vino de la mano de Laravel Jetstream, que es un conjunto de paquetes que conforman un punto de partida para la creación de proyectos con Laravel. Entre los paquetes que incluye Jetstream nos encontramos con Vue y con Tailwind, pudiendo escoger entre el uso de Laravel Livewire o de Laravel Inertia.

Introducción

Existen ciertos requisitos que tendrás que cumplir para seguir este tutorial, ya que utilizaremos tanto la línea de comandos como los gestores de paquetes composer y npm. A continuación puedes encontrar una serie de tutoriales que te servirán de ayuda:

Si es la primera vez que usas Laravel, también puedes consultar la documentación oficial de Laravel.

Qué es Laravel Breeze

Laravel Jetstream supuso un enorme cambio en el ecosistema de Laravel que no gustó a muchos desarrolladores de la comunidad de Laravel, ya que se agregaba bastante complejidad al stack tan simple al que los desarrolladores estábamos acostumbrados. De hecho, la facilidad de uso de Laravel fue el motivo por el que apenas uso ya Zend Framework.

Debido a ello, el creador de Laravel, Taylor Otwell, lazó un nuevo paquete meses después llamado Laravel Breeze como alternativa a Jetstream que incluye una stack simplificada. De hecho, la única diferencia entre el famoso paquete Laravel UI y Laravel Breeze, es que Breeze incluye el framework CSS Tailwind en lugar de Bootstrap.

Laravel Breeze es un punto de partida para las aplicaciones creadas con Laravel que incluye los componentes y las vistas necesarias para la autenticación de usuarios. Breeze utiliza el motor Blade para las vistas y Tailwind como framework CSS.

Todas las rutas y los controladores han sido exportados directamente a la aplicación, por lo que a diferencia de Jetstream, podrás modificar los controladores y las vistas en todo momento del mismo modo que en las clásicas aplicaciones creadas con Laravel.

Si ya has usado Laravel Jetstream alguna vez, el uso de Breeze debería resultarte muy sencillo. En caso contrario, si ya has utilizado Laravel UI, bastará con que aprendas Tailwind.

Instalación de Laravel Breeze

Para instalar Laravel Breeze tendrás abrir la terminal y situarte en el directorio en el que está instalada la aplicación en la que quieres instalar Breeze. Luego sigue los pasos que se describen a continuación:

  1. Instala el paquete laravel/breeze usando composer:
    composer require laravel/breeze --dev
  2. Seguidamente, ejecuta el siguiente comando para instalar Breeze:
    php artisan breeze:install
  3. Si la instalación finaliza correctamente, verás la siguiente salida por pantalla:
    Breeze scaffolding installed successfully.
  4. A continuación vamos a instalar los paquetes de node necesarios:
    npm install
  5. Y finalmente vamos a compilar los archivos .scss y .js mediante el siguiente comando:
    npm run dev

Si ahora visitas con tu navagador la dirección local o de tu servidor en donde has instalado Laravel, podrás ver la página por defecto que se instala con Laravel Breeze.

Cómo utilizar Laravel Breeze

Una vez hayas instalado el Laravel Breeze, podrás encontrar los controladores, las vistas y las rutas en las localizaciones habituales. Vamos a explicar brevemente cada uno de estos apartados, así como los archivos y cambios que se agregan con Brezze.

Rutas

Las rutas que se utilizan para el login y el registro de los usuarios se encuentran en el archivo routes/auth.php. En cuanto a las rutas estándar que no requieren autenticación, podrás encontrarlas en el archivo routes/web.php.

En estos archivos encontrarás la ruta a la página de inicio de tu aplicación junto con las rutas de login, register, logout y password-reset.

Controladores

Del mismo modo que en las aplicaciones que usan Laravel UI, podrás encontrar los controladores encargados de realizar las tareas de registro, login y gestión de contraseñas en el directorio app/Http/Controllers/Auth/.

Sin embargo, verás que ahora cada ruta incluye su propio controlador, en la línea de los controladores de una sola acción que se utilizan con Inertia o Livewire. No deja de ser un cambio menor:

  • Sesión: AuthenticatedSessionController.php
  • Confirmar contraseña: ConfirmablePasswordController.php
  • Verificación de email: VerifyEmailController.php
  • Verificación de email: Notificación: EmailVerificationNotificationController.php
  • Verificación de email: Aviso: EmailVerificationPromptController.php
  • Cambiar contraseña: NewPasswordController.php
  • Resetear contraseña: PasswordResetLinkController.php
  • Usuario no registrado: RegisteredUserController.php

Por el resto, todo sigue igual.

Vistas

Las vistas correspondientes a la gestión del registro, login y de las contraseñas de los usuarios están en el directorio resources/views/auth/ al igual que siempre:

  • Login: login.blade.php
  • Registro: register.blade.php
  • Resetear contraseña: reset-password.blade.php
  • Verificación de email: verify-email.blade.php
  • Confirmación de contraseña: confirm-password.blade.php
  • Contraseña olvidada: forgot-password.blade.php

La única diferencia que encontrarás en las vistas con respecto a Laravel UI es que ahora usan Tailwind en lugar de Bootstrap.

Alternativas a Laravel Breeze

Como alternativas a Laravel Breeze podrías usar los siguientes paquetes:

Recuerda que puedes echar un ojo a Laravel Breeze en su repositorio oficial de GitHub.

Esto ha sido todo.


Avatar de Edu Lazaro

Edu Lázaro: Ingeniero técnico en informática, actualmente trabajo como desarrollador web y programador de videojuegos.

👋 Hola! Soy Edu, me encanta crear cosas y he redactado esta guía. Si te ha resultado útil, el mayor favor que me podrías hacer es el de compatirla en Twitter 😊

Si quieres conocer mis proyectos, sígueme en Twitter.

3 comentarios en “Qué es Laravel Breeze y cómo se utiliza

  1. Muy buenas Edu!
    Me llamo Fran y, buscando temas acerca de las distintas opciones para realizar una autentificación con Laravel 8, he llegado a este post.

    La opción que propones, usar breeze, parece muy sencilla y que sigue la estela y lo que había en las anteriores versiones de Laravel. Algo muy cómodo.

    Pero he estado viendo que, como la intención de Taylor Otwell va encaminada a Jetstream, continuar usando el modulo Auth será problemático a futuro porque quedará obsoleto.
    Además, para evitar este problema y que los programadores no le odiasemos del todo, se dejó a parte Laravel Fortify para todo lo que antes se hacía con Auth.

    Todo esto lo digo porque quería preguntarte si lo habías probado y, en caso de haberlo hecho, si te parece una buena opción.

    Ya me dices.

    Muchas gracias!

    Un saludo,

    Fran.

    1. Hola Fran. Pues ahora mismo estoy trabajando en dos proyectos. En uno uso JetStream con Inertia y en otro uso la clásica combinación del módulo Auth + BootStrap.

      Según he estado leyendo, en efecto, Breeze puede que en el futuro se quede obsoleto, pero esto pasará con todo. Personalmente, me parece que JetStream está algo encorsetado, por decirlo de algún modo.

      Si hubiese comenzado el proyecto con Inertia ahora, hubiese creado una web con React o con Vue (o Nuxt) y la hubiese integrado con una API creada con Laravel o con Lumen. Vamos, la filosofía JamStack, que es hacia donde creo que se dirige todo esto.

      Acerca de Breeze, sí me parece una buena opción si te gusta Tailwind. Si nunca lo has usado, al principio me odiarás por esta recomendación, especialmente cuando tu código esté desbordado de clases CSS.

      Mi recomendación es que uses lo que ya conoces pero a ser posible introduzcas algún elemento nuevo. Así, de usar otro sistema en el futuro, siempre será más llevadera la migración. Y además habrás aprendido algo nuevo.

Deja una respuesta

“- Hey, Doc. No tenemos suficiente carretera para ir a 140/h km. - ¿Carretera? A donde vamos, no necesitaremos carreteras.”