Tabla de contenido:

Introducción

Cuando se inicia un nuevo proyecto el desarrollo de la parte de autenticación y manejo de sesiones es demasiado tardado, lo cual resta tiempo para iniciar el desarrollo de la aplicación en si, pero Laravel ofrece alternativas para no preocuparse por este paso y centrarse en el desarrollo de las características que el cliente necesita.

Estos kits de inicio ofrecen las siguientes características

  • Rutas
  • Controladores
  • Vistas

Laravel Breeze

Este kit ofrece una implementación minimalista de las funciones de autenticación de Laravel, esto incluye inicio de sesión, registro de usuario, restableceimiento de contraseña, confirmación de correo electrónico. En las versiones recientes se implementa una página de “perfil” para actualizar la información del usuario.

Por defecto Breeze utiliza plantillas Blade con un diseño hecho con Tailwind CSS, pero también cuenta con implementaciones con Livewire o Inertia.

Instalación

Antes de iniciar con Breeze es necesario crear una aplicación nueva y configurar la base de datos a utilizar. Luego se procede con la instalación.

composer require laravel/breeze --dev

Al finalizar la instalación, es necesario ejecutar los siguientes comandos.

php artisan breeze:install

php artisan migrate
npm install
npm run dev

Con esto se publicaran las vistas de autenticación, rutas, controladores y otros recursos necesarios.

Breeze y Blade

Por defecto Breeze utiliza Blade para la interfaz de la aplicación, los comandos utilizados anteriormente permiten realizar la instalación basado en Blade.

Breeze y Livewire

También se tiene la opción de utilizar Livewire. Livewire es la manera de crear interfaces poderosas debido a que permite crear interfaces dinámicas y reactivas utilizando PHP, sin la preocupación de escribir JavaScript.

Si se necesita crear interfaces reactivas sin la preocupación de crear un API y Frontend, Livewire es la solución perfecta, permite utilizar Blade y darle un comportamiento similar a Vue o React.

Breeze y React/Vue

Laravel Breeze también ofrece la opción de utilizar interfaces React y Vue esto gracias a la implementación de Inertia, permitiendo crear aplicaciones SPA utilizando los controladores y las rutas de laravel (del lado del servidor). A demás ofrece la compatibilidad con Inertia SSR o TypeScript.

Breeze y Next.js / API

También puede configurar Breeze como un API de autenticación preparado para utilizarse en aplicaciones JavaScript modernas impulsadas por Next o Nuxt y otras. para esto es necesario agregar en las variables de entorno lo siguiente FRONTEND_URL.

Gracias a las nuevas características de Laravel 10, al ejecutar el comando breeze:install se muestra una salida donde se puede seleccionar la configuración según lo requiera para desarrollar el proyecto.

Laravel Jetstream

Si las funcionalidades de Breeze son increíbles como punto de partida para crear nuevas aplicaciones, Jetstream mejora considerablemente estas funciones agregando funcionalidades más solidas e implementaciones de tecnologías frontend adicionales. Lo que Jetstream ofrece.

  • Inicio de sesión
  • Registro
  • Verificación de correo electónico,
  • Autenticación de dos factores
  • Administración de sesiones
  • Soporte API (utilizando Laravel Sanctum)
  • Opción a administracion de equipos

Instalación

Al igual que Breeze esto se debe realizar en proyectos nuevos.

composer require laravel/jetstream

Para finalizar la instalación, es posible ejecutar los siguientes comandos según la configuración que se necesite.

# Jetsream + Livewire
php artisan jetstream:install livewire

# Jetstream + Vue
php artisan jetstream:install inertia 

# Jetstream + Vue con soporte ssr
php artisan jetstream:install inertia --ssr

Puede utilizar los siguientes parámetros para configuraciones adicionales.

--teams # para manejo de equipos
--dark # para compatibilidad de modo oscuro
Jonnathan Chiroy Profile Picture

"Hola, soy un desarrollador apasionado por Laravel y su ecosistema que permiten desarrollar aplicaciones magnificas, tratare de compartir mis conocimientos y vivencias desarrollando aplicaciones utilizando TALL stack, PostgreSQL y MySQL. 🤘"

Jonnathan Chiroy (jchiroy)
Laravel developer