Actualización semana 14Abr-21Abr - Nuevo Curso Laravel Shopping, Resumenes Todo List SC Volt ...
Bienvenidos a otra semana de trabajo en la que paso a contarte todo lo que estuve haciendo y actualizando, tanto en el blog como en el canal de YouTube, desde el 14 de abril hasta hoy, 21 de abril. Como siempre, arranco contándote las novedades generales, luego paso a los detalles técnicos y algunas opiniones personales que seguro te van a interesar.
Mejoras en Livewire: formularios personalizados
Una de las cosas que no me terminaba de convencer de Livewire era el manejo de formularios. A diferencia de Laravel tradicional donde usamos la clase Request, en Livewire no viene por defecto algo similar. Eso te obliga a declarar todos los campos a nivel de clase, y cuando tenés muchos campos, se vuelve un poco molesto:
- Detestaba usar Formularios Largos en Laravel Livewire hasta que descrubrí.. livewire:form - https://youtu.be/UBl6gU8FgTA
Pero, como siempre, hay solución. Descubrí que con Livewire Formulario puedes generar una clase muy parecida a Request, y ahí lo explico con detalle en este video que te dejo enlazado. Te va a servir si estás migrando de Laravel clásico o querés una estructura más organizada en tus formularios.
Filtros, listados y confirmaciones en Livewire
También subí un resumen de la aplicación Blog en Livewire, donde muestro cómo se manejan los listados y filtros. Me gusta ir dejando estos resúmenes por sección para que se entienda bien cómo se arma cada parte.
- App Blog - Listado, Filtro, Detalle - Laravel Livewire, Resumen - https://youtu.be/_YKwhz-x6ac
Otro punto que estuve explorando fue el diálogo de confirmación con @wire:confirm, algo que me pareció genial. Cada vez que leo la documentación de Livewire encuentro algo nuevo. Esta directiva es útil cuando tenés acciones destructivas, como eliminar, y necesitás una confirmación previa. Con un simple @wire:click más el @wire:confirm, aparece el diálogo personalizado. Lo explico con ejemplos visuales en el video.
- Diálogo de Confirmación en UNA SOLA LíNEA en Laravel Livewire: Wire:Confirm - https://youtu.be/vBH8i2tIJjw
Opinión: Laravel y la (no) reutilización de código
Este fue uno de los videos más polémicos de la semana. Comento cómo Laravel no reutiliza tanto código como parece, especialmente en las plantillas que vienen por defecto. Aclaro que me encanta Laravel (si no, no estaría subiendo tanto contenido), pero también me gusta hacer críticas constructivas.
- Laravel NO Reutiliza código - https://youtu.be/5BSjRKbMm_M
Desde Laravel 5, su núcleo es prácticamente el mismo. El problema que veo está más en lo que viene "de regalo": dashboards, interfaces, y esos pequeños detalles que cambian demasiado entre versiones. Eso genera inconsistencias si querés mantener tus propios proyectos o cursos a largo plazo.
Comparativas: Livewire vs Inertia
Otro tema importante es la comparación entre Laravel Inertia y Livewire, algo que disfruto bastante porque son dos tecnologías hermanas en mis cursos. Siempre me gusta mostrar cómo se resuelve un mismo problema con ambas herramientas.
- Resumen, Componentes de "Componentes" en Laravel Inertia- Formulario paso por paso - https://youtu.be/f3PW7BtsTgI
Subí una serie de videos donde armo un formulario paso a paso en Laravel Inertia y hago un paralelo con su equivalente en Livewire. También publiqué el resumen de la app de To-Do List con Inertia, que cierra por completo ese curso. Ya está todo actualizado y el libro también está disponible en todas las plataformas.
- Resumen, App de ToDo en Laravel Inertia - https://youtu.be/5t4FJZ4So8A
Mejoras en el carrito de compras de Livewire
Aproveché esta semana para revisar el carrito de compras en Livewire, que era una de las secciones que menos me había gustado. Aunque todavía no está 100% terminado, ya estoy aplicando varias mejoras.
Esto me llevó a pensar de nuevo en algo que siempre digo: Livewire es más complejo de aprender. Si ya conocés Vue, Inertia tiene una curva de entrada mucho más suave. En cambio, en Livewire tenés que lidiar con Blade, Alpine.js, Livewire y controladores: son cuatro piezas en lugar de dos. Eso complica las cosas cuando querés armar componentes más elaborados.
Componente paginado en Volt...
Aunque no es mi favorito, también voy subiendo versiones en Ball. Por ejemplo, el listado paginado ya está disponible como video y parte del curso.
- Extra: Componentes de Laravel Livewire Volt, Listado paginado - https://youtu.be/VdAV24amuL0
Opinión: macOS vs Windows
Subí un video más de opinión sobre macOS vs Windows, dos sistemas que me encantan pero tienen sus diferencias. macOS es más estable, pero hay cosas del manejo de ventanas que no me terminan de convencer.
Lo que más me molesta es tener que dar doble clic para interactuar con una ventana que no tiene el foco. Eso, cuando estás trabajando con varias ventanas (como un editor y un video de YouTube al fondo), se vuelve lento y molesto. Windows lo maneja mejor desde hace años. Es un detalle, pero suma o resta en la experiencia diaria.
- Lo que MENOS me gusta de MacOS, el manejo de las ventanas es MEJORABLE! - Aprende de Windows! - https://youtu.be/b7rb5cL6ZOY
Actualizaciones de los cursos y libros
Ya terminé el curso y el libro de Laravel Inertia, así que están completamente actualizados y disponibles.
Laravel 12 Inertia 2
- Cambios hasta este momento
- Siguientes clases
- Conclusiones
Con Livewire voy un poco más lento, pero porque estoy siendo más detallista con ciertas partes, especialmente en las traducciones a Volt y con funcionalidades nuevas como @wire:confirm:
Laravel 12 Livewire 3
- Reemplazar enlace por botón de Flux
- Cambios hasta el momento para el Blog
- Extra: Aplicar cambios a componente de Volt
- Extra: En detalle, enlaces para el listado por tipo y categoría
Nuevo proyecto (más avanzado)
Estoy comenzando un nuevo curso, todavía en fase inicial, pero será un curso más avanzado. Va a estar acompañado de su propio libro, y será un proyecto pensado para usuarios de nivel intermedio o profesional. Va a tener un precio un poco más alto y no voy a compartir el código fuente, porque la idea es enfocarse en la formación más profunda.
También estoy pensando ofrecer un acceso anticipado desde la academia, a un precio más bajo, para quienes quieran ir viendo el desarrollo paso a paso.
Laravel 12 Livewire 3 - Tienda en línea
- Herramientas necesarias
- Sobre el creador
- Sobre el curso
- Crear un proyecto con Laravel Herd
- Mejorar diseño: Listado de Productos
- Vamos a mostrar el diseño para el listado de productos.
- Mejorar diseño: Agregar item desde el detalle del producto
Desafíos con las actualizaciones de Laravel
Una última reflexión: Laravel y Livewire actualizan muy rápido. Apenas terminé los cursos de Livewire e Inertia, y ya tuve que hacer modificaciones por Laravel 12. Aunque no son cambios radicales, sí afectan las plantillas y estructuras que se generan con Breeze o Jetstream. Para cursos avanzados esto representa un desafío adicional, porque no siempre podés mantenerlos actualizados desde cero con cada versión.