Actualización semana 7Abr-14Abr - Laravel 12 LO MEJOR - No Uses WebViews Flutter - Config Django
Bienvenidos a otra semana de actualizaciones en la cual paso a hablar sobre las actualizaciones ocurridas en todo el material que he subido desde la semana del 7 a la del 14 de abril así que comenzando como siempre con la actualización de la semana pasada
YouTube/Blog
Lo otro es que esto ya va un poco tardío, pero ya no es free. Es decir, solamente la versión 6 sería la gratuita. Ya a partir de la 7 —y la fecha actual, que tenemos la 8—, ya necesitan una licencia de pago. Creo que lo puedes utilizar sin la licencia, pero te sale a cada rato una alerta de que compres la licencia. No sé cuánto cuesta, porque no he podido encontrar esa información. Parece que lo tienes que instalar para que luego te mande a la página, porque en la página oficial no veo cuál es el precio.
Aún así, para eso empleo Laravel Herd, o de momento me quedo también con Laragon en la versión 6.
Lo Mejor de Laravel - Su integración Nativa con Node - https://youtu.be/epXOfIL_RuU
Aquí un video también con un poco de humor personal. Lo que me gustaría más es tener también la posibilidad de poder emplear Vue en Laravel Livewire, en vez de Alpine. Yo creo que eso sería realmente una muy buena integración, o directamente que mejore lo que tenemos con Inertia, para que sea más modular. Ya que me parece siempre un poco cómico que tengamos mejor modularización con Livewire que con Vue, que es un framework altamente modular. Pero en fin, eso también lo he tratado en varios videos:
Laragon es de Pago, necesita una Licencia desde la versión 7, Pero... - https://youtu.be/9LUmKlqQFBI
Aquí un video también con un poco de humor personal. Lo que me gustaría más es tener también la posibilidad de poder emplear Vue en Laravel Livewire, en vez de Alpine. Yo creo que eso sería realmente una muy buena integración, o directamente que mejore lo que tenemos con Inertia, para que sea más modular. Ya que me parece siempre un poco cómico que tengamos mejor modularización con Livewire que con Vue, que es un framework altamente modular. Pero en fin, eso también lo he tratado en varios videos:
Mi Fantasía Más Oscura... Laravel Livewire + Vue (En vez de Alpine) sería bellisimo... - https://youtu.be/3Z_i9SuscM8
Aquí también algunos videos que son, como quien dice, resumen de secciones en las que estoy trabajando para los cursos. Por ejemplo, para Livewire, el resumen de la ordenación de columnas:
Ordenación de Columnas en Laravel Livewire: Resumen y Explicación - https://youtu.be/gVlEJfvPeYA
Y para inertia lo que es el carrito compras:
Carrito de compras - Shopping carts en Laravel Inertia, Resumen - https://youtu.be/GXSb6HYgZMc
Para Django, aquí seguimos un poquito con la parte de nuestra pequeña tienda en línea, que voy liberando por acá. En este caso, verificar una compra exitosa con PayPal:
Verificar una compra exitosa de PayPal - #3Django #Python 31 - https://youtu.be/9PrVDPKtues
Y también un video importante: cómo puedes crear configuraciones personalizadas en Django. Es muy fácil, realmente, simplemente agregas las keys y tu valor en el archivo de configuración de settings:
Configuraciones personalizadas en Django - 22 - https://youtu.be/ylNPMmysyVc
Aquí también unos videos que considero muy importantes: la parte de las claves de la modularización. Para mí, en Flutter, algunos tips que te doy —ya que, al menos yo soy así, siempre me voy corrigiendo— y es por eso que siempre estoy desarrollando. Siempre tenemos que crear aplicaciones para crecer como desarrolladores, ver qué está mal, ver cómo mejorarlas, modularizarlas y comparar con otros desarrollos.
En este caso, lo que yo considero como un problema común es cuando estamos definiendo nuestros widgets personalizados. Por ejemplo, un formulario. Podemos tener la mala costumbre —al menos yo la tengo— de crearlo lo más rápido posible usando un método en vez de una clase. Pero eso puede ser un error si el widget está anidado o es complejo, porque vas a empezar a crear métodos como loco. Y al final, vas a tener un código poco legible, con todos esos métodos al mismo nivel, y poco reutilizable. Obviamente, un método no puede competir con una clase y todas sus ventajas, aparte de otros problemas como la cantidad de propiedades declaradas en la clase raíz.
Las 2 claves en la Modularización en Flutter, Clases y Métodos por parámetro. - https://youtu.be/ea-LVO7V_bE
Y aquí otro video que te recomiendo si tienes contenido HTML que quieres parsear o mostrar en tu aplicación Flutter. Aquí te traigo una muy buena manera de hacerlo, sin necesidad de usar WebViews. Simplemente, traducimos ese código a sus widgets equivalentes: párrafos a Text, imágenes a Image, y así vamos.
NO uses los Webview en Flutter para MOSTRAR Contenido HTML, mejor usa ESTO... - https://youtu.be/2DcecsxliAg
Cursos y Libros
Para los cursos y libros, para Inertia, tenemos mejoras y cambios en el carrito de compras:
- Cambios hasta este momento en el módulo de carrito de compra.
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
Vamos a mostrar el diseño para agregar productos al carrito.
Nombre del producto
Vamos a mostrar el título del producto en el detalle del item del carrito.
Remover opción de agregar el producto en detalle si ya está en el carrito
Si el item esta en el carrito, quitamos la opción desde el detalle.
En detalle, resaltar producto en el carrito
En detalle, vamos a resaltar el item actual en el carrito.
En detalle, Animación al agregar producto en el carrito
Creamos una sencilla animación para mostrar/ocultar la opción de agregar un item al carrito
En cuanto a Livewire, una app tipo Blog entre otros:
Cambios hasta el momento: Modulo de Ordenación
Extra: Aplicar cambios a componente de Volt: Modulo de Ordenación
- Cambios hasta el momento: JS de Livewire + CKEditor
Extra: Aplicar cambios a componente de Volt: JS de Livewire + CKEditor
Siguiente sección - Extra: Wire:confirm
- - Veremos cómo crear un diálogo de confirmación mediante un atributo.
- * Componente de Carta
- Creamos un componente de carta. - * Layout
- Vamos a crear y configurar un layout para el módulo de blog.