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