Livewire debería formar parte del Core de Laravel
Índice de contenido
Quiero contarte cuál es el tema central de este video: yo considero que Livewire debería venir incluido directamente en el core de Laravel. Es decir, que apenas creemos un nuevo proyecto en Laravel, Livewire ya esté presente por defecto. Así de simple.
Laravel ya está preparado para componentes
Por qué pienso esto? Bueno, hay varios motivos. Empezando por lo básico: Laravel ya soporta el uso de componentes. Tenemos dos tipos principales:
- Componentes anónimos, como el que estás viendo en pantalla, que funcionan como una evolución ligera de lo que tenemos en las vistas. Nos permiten pasar props y mantener el código más organizado.
- También existen los componentes basados en clases, que nos dan aún más potencia al estructurar las interfaces.
Esto ya nos da una base sólida para trabajar con componentes, pero Livewire lleva todo esto mucho más allá.
Livewire como evolución natural
En el curso que siempre hemos seguido, hemos hablado de lo que nos ofrece Livewire: atributos personalizados, eventos de JavaScript, creación de SPAs en Laravel, wire:model, wire:click, entre otros. Todo esto representa una evolución de los componentes tradicionales de Blade.
Ojo, con esto no quiero decir que debamos eliminar los componentes básicos de Laravel. Estos siguen siendo muy útiles para tareas sencillas, como definir estilos de botones o mostrar listados simples. Por ejemplo, lo que estás viendo en pantalla es un componente Blade básico, sin Livewire, usado para mostrar un listado o un detalle. Y está perfecto así.
¿Cuándo sí usar Livewire?
Pero cuando queremos hacer cosas más complejas —como tener eventos, peticiones al servidor sin recargar la página, o trabajar con interfaces más dinámicas— Livewire facilita muchísimo el desarrollo.
En vez de hacer una petición tradicional o recargar la vista, simplemente usamos un atributo como wire:click y ya está. Todo está encapsulado, bien organizado y manejado por Laravel. Es por eso que considero que esta sería una evolución natural dentro del framework.
¿Y por qué no Inertia?
Ahora bien, muchos dirán: ¿por qué no incluir Inertia en su lugar? Aquí es donde entra el segundo motivo por el cual creo que Livewire encaja mejor como opción por defecto:
- Inertia depende de tecnologías externas como Vue o React, y no se pueden usar ambas en el mismo proyecto.
- Sería confuso para nuevos usuarios tener que elegir entre Vue o React al crear un proyecto Laravel desde cero.
- También habría dudas al devolver vistas: ¿las renderizas en Blade, en Vue o en React?
Esto agregaría una complejidad innecesaria, sobre todo para quienes están comenzando.
En cambio, Livewire es una estructura paralela que se integra perfectamente con el core de Laravel, sin imponer decisiones tecnológicas externas.
Organización y productividad
Livewire potencia la productividad. Especialmente en paneles de administración, creación de formularios CRUD, gestión de estados, respuestas rápidas a eventos, etc. Yo personalmente lo uso siempre que puedo, porque me ayuda a mantener el código limpio y organizado.
¿Por qué aún no viene por defecto?
Entiendo que quizás no se incluya por defecto por la relación que existía con Inertia en el pasado. Al inicio eran tecnologías "hermanas", pero con el tiempo han tomado caminos muy diferentes.
Hoy en día incluso tienen iconografías distintas, núcleos de funcionamiento diferentes, y si miras bien, ya no hay tanta similitud entre ambos.
Acepto recibir anuncios de interes sobre este Blog.
Te doy mis razones por las cuales considero de que Livewire debería venir con Laravel al momento de crear un proyecto.