MVI en Android, Inmutabilidad y UDF (Unidirectional Data Flow)

mvi android

Episodio 131 – MVI en Android, Inmutabilidad y UDF (Unidirectional Data Flow)

En esta charla técnica, hablamos sobre inmutabilidad, MVI en Android y flujo unidireccional de datos. El también conocido como UDF (Unidirectional Data Flow).

Desde Los androides Premium, te contamos por qué el uso de este patrón de presentación, hace que consigamos que las apps sean menos propensas a fallar.

Bueno, y no solo el patrón MVI en Android. El tema de la inmutabilidad es clave en programación funcional y es fundamental para poder implementarlo.

Si no viste aún la entrevista a Antonio Leiva en el episodio anterior, justo ahora puede ser un momento interesante.

Inmutabilidad, MVI y UDF (Unidirectional Data Flow)

Puedes indagar más sobre MVI en Android en este artículo.

Y aún mejor, en esta charla técnica con Gema Socorro.

Contenido del audio

Índice

00:00 | Cabecera
00:15 | Presentación, bienvenida, ¿de qué vamos a hablar?
01:25 | Qué es la inmutabilidad y para qué sirve
02:27 | Damos la vuelta a la tortilla 🔄. ¿Por qué la mutabilidad es mala?
05:29 | Otras ventajas de tener algo inmutable
06:11 | Concurrencia… qué podría suceder con algo mutable
07:14 | Conclusiones inmutabilidad 👀
07:44 | Un apunte adicional sobre inmutabilidad-mutabilidad
09:29 | Definición de un compañero sobre: a qué llama él un side-effect
10:49 | Comentamos una práctica que deja bastante que desear ❌
12:44 | Buena práctica: Crear un nuevo objeto y devolverlo 👍
13:50 | ¿Han sufrido nuestros compañeros algún problema con la inmutabilidad a día de hoy?
18:04 | UDF – Unidirectional Data Flow – Flujo Unidireccional de Datos: definición ➡
19:57 | ¿Esto sería MVI o MVVM?
22:54 | La clave: ¿cuál es la diferencia principal entre MVI o MVVM? 🧩 + Diversas opiniones
29:18 | El tema del Reducer: un detalle de implementación, ¿o si no tiene no es MVI?
31:09 | Cómo gestionan los compañeros los ViewModel
34:02 | Un data class con varios estados posibles, ¿puede ser una fuente de errores?
39:23 | Qué nos dice ChatGTP sobre los ViewModel en MVI y MVVM 🤖 + opiniones
42:59 | ¿Por qué la inmutabilidad es importante para testear?
45:39 | ¿Por qué cuando hay un Singleton por medio, el testing unitario se hace complicado? 🤯
48:28 | Resumen de la charla
49:19 | Últimos comentarios: ¿time travel? 🤨
52:00 | Despedida y agradecimientos

Transcripción

¡Muy buenas! Soy Gabi Moreno y te doy la bienvenida al episodio número 131 de Los androides.
El podcast en el que te contamos técnicas, tips, herramientas, conceptos, hábitos y todo
aquello que te va a hacer crecer profesionalmente como desarrollador Android.
Hoy vamos a hablar sobre MVI, inmutabilidad y UDF, Unidirectional Data Flow.
Y para ello, lo que vamos a escuchar es la charla técnica que tuvimos el otro día dentro
de la comunidad premium, dentro de los androides premium, en la que hablamos sobre qué es
la inmutabilidad y para qué sirve, le dimos también un poco la vuelta a la tortilla a ver
si la inmutabilidad es tan mala o no. Lo verás o lo escucharás, mejor dicho, de aquí poquito,
que o cuál es más bien solo las ventajas de tener algo inmutable, temas de concurrencia.
Llegamos a ciertas conclusiones también, qué es un side effect, porque hay veces como que
hay palabras o conceptos que se emplean y no quedan del todo claro.
También comentamos una práctica que deja bastante que desear, lo dejo ahí en el aire,
después lo escucharás. Y también, evidentemente, hablamos sobre MVI y inmutabilidad sobre UDF,
sobre Unidirectional Data Flow. Por cierto, ahora mismo, ahora mismo que estoy grabando
estos domingos, faltan un par de minutitos, perdón, para llegar a las 6 de la tarde,
el día 12 de marzo, hace un rato he enviado la newsletter en la que, si no lo has visto
aún, te la recomiendo porque es muy, muy curiosa, porque hablo sobre un tema de caché,
pero un caso, un caso real, real, real, que me ha pasado hace nada, una movida bastante
interesante, no quiero decir palabras aquí, pero vamos, algo que está muy interesante
para ver, así que te lo dejo ahí, en la newsletter que, bueno, si no sabes de lo que
te estoy hablando, es que la puedes ver directamente poniendo en tu navegador gabimoreno.soy/newsletter.
Y bueno, si estás escuchando este episodio más adelante, no pasa nada, habrá una edición
en la que verás algo que se habla sobre caché, ¿vale? Es interesante, ¿vale? Es un caso
verídico de una, venga, ¿por qué no decirlo? Una cagada, una cagada bastante interesante
que he hecho yo, ¿vale? Y te la quiero contar para que, pues, así que por lo menos sirva
de, a final le he dicho la palabra brota, que sirva de, pues, hay veces que la mejor manera
de aprender, por supuesto, es en tus carnes, ¿no? Pero sí, pues, lo que te digo te vale
a ti, pues, estupendo, muchas veces también se aprende de la experiencia de otros, bueno,
al final de cuentas que es leer un libro, ¿no? En muchas ocasiones. Bueno, que me voy un poco
por Los cerros de Úbeda. Lo que te estaba contando hoy en este episodio, tenemos una charla técnica
que te voy a poner ya mismo y al final de la charla técnica te voy a hacer una pregunta
así que, bueno, está atento, atenta y después me cuentas, ¿vale? A dentro, perdón, dentro
de un rato nos vemos hasta ahora. Muy buenas y bienvenidos a los androides. En esta ocasión
tenemos otra charla técnica aquí, los miembros de los androides premium, bueno, no estamos
todos, pero somos todos los que estamos, que creo que es lo mismo que dije la otra vez,
de hoy vamos a hablar sobre inmutabilidad y unidirectional dataflow y seguramente sobre
alguna cosa más relacionada. Y bueno, estamos hoy en breo, que lo tenemos por aquí, no
sé si tiene, no puedo hablar por el micro, pero se está por aquí. Tenemos también a
Marçal, que tenemos aquí, Iván, Marce, Dani, Antonio Manuel, alias Mele, Jimmy y Tim, así
que, bueno, y un servidor que se le está hablando. Así que, mira, ahí llega por aquí
también Juanjo y bueno, si se va incorporando alguien más a la charla, pues nada, pues cogeremos
e iremos charlando.

Publicado: 2023-03-13 Actualizado: 2024-03-19