Episodio 141 – Inyección de Dependencias en Android y Kotlin (nivel senior) con Javi Segovia
Entender la Inyección de Dependencias en Android y Kotlin a nivel avanzado es vital para poder sacarle el máximo partido. Una de las ventajas que podemos extraer es mejorar los tiempos de compilación.
En esta charla técnica, Javi Segovia nos resuelve un montón de dudas acerca de inyección de dependencias al más alto nivel.
Temas como:
- Build Variants
- Product Flavors
- Tiempos de compilación
- Buenas prácticas con los
BuildConfig
- Gradle y modularización
- Service Locators
- Arrow inject (biblioteca que implica una revolución)
- Context Receivers
- Diferencias entre KAPT, KSP y K2
- Koin Vs Hilt
- …
Como ves, este episodio viene cargadito… Aviso que el nivel que aquí se trata es más bien avanzado. Aunque por otro lado, también se dan tips que es más que probable que puedas aplicar desde ya, sea cual sea tu seniority.
Con lo que no tienes mucho que pensar. Dale al play, que merece la pena (y mucho). ▶️
A todo esto, has visto ya la entrevista a Philipp Lackner?
Y aquí tienes los links de lo que comentamos dentro del episodio:
- Stop generating the BuildConfig on your Android modules
- Android at Scale @Square
- Arrow Inject
- PopKorn
Y por supuesto, te recomendamos encarecidamente que le eches un vistazo al perfil en GitHub de Javi Segovia, el ponente de la charla.
Contenido del audio
Índice
00:00 | Previa
00:35 | Cabecera
00:41 | Presentación y bienvenida
01:35 | Javi nos cuenta sobre él, su experiencia y su background
02:23 | ¿De qué vamos a hablar? 🤔
03:49 | ¿Archivos innecesarios por una mala Inyección de Dependencias? Identificar esas malas prácticas 👀
07:00 | Build variants y Tiempos de compilación ✔
07:54 | ¿Hacen falta los BuildConfig? 🧐
09:45 | El 🔝 de malas prácticas y maneras de evitarlo
11:55 | ¿Qué papel juega Gradle y la modularización en la Inyección de Dependencias? 🎯
14:26 | Contextos de arquitectura Flux con reducers y desventajas
15:48 | Cómo mejorar los Tiempos de compilación
18:38 | ¿Cuándo usar una biblioteca para hacer Inyección de Dependencias y cuándo no? ⚡
20:35 | Criterios para seleccionar una biblioteca de Inyección de Dependencias
25:46 | Opinión sobre hacer Dependency Injection a mano 🛠
27:49 | Futuro de las bibliotecas 🙌
30:21 | ¿Qué es Arrow Inject?
35:31 | ¿Es Koin un Inyector de dependencias? 🚀
37:19 | ¿Qué motivó a Javi para crear Arrow Inject? 🧩
40:59 | Demo de Arrow Inject 👀
46:04 | ¿Cuáles son las diferencias entre KAPT, KSP y K2?
48:10 | Ambigüedad entre funciones 💥
50:51 | ¿Koin o Hilt?
54:43 | ¡Muchísimas gracias Javi! 😊
55:16 | Recursos para Inyección de Dependencias 📘
56:51 | Dónde podemos encontrar a nuestro invitado
57:16 | Despedida y agradecimientos 👏
57:46 | Cierre
Transcripción
¡Muy buenas! Soy Gabi Moreno y te doy la bienvenida al episodio número 141 de Los Androides. El podcast en que te contamos técnicas, tips, herramientas, conceptos, hábitos y todo aquello que te va a hacer desatar tu potencial como Android Developer.
Y hoy tenemos a Javi Segovia, Javier Segovia Córdoba, que nos va a hablar sobre inyección de dependencias en Android y Kotlin, pero a un nivel bastante, bastante potente. De hecho vamos a averiguar cómo poder sacarle el máximo partido a cómo aplicamos la inyección de dependencias en nuestros proyectos y, evidentemente, una de las ventajas que vamos a poder extraer es mejorar los tiempos de compilación.
Ya te digo que la charla quizás haya temas que sean un poco más avanzados, no es una charla básica, ya te aviso, pero da igual el nivel que tengas, sea uno u otro, es muy probable que saques pepitas de oro muy valiosas porque vamos a hablar sobre temas como build variants, product flavors, porque es buena idea utilizarlos en algunas ocasiones y en otras no, tiempos de compilación en sí, las buenas prácticas a aplicar con los build config, sobre todo en proyectos multimódulo y hablando de multimódulo, temas de gradle y modularización, service locator, arrow inject que es una biblioteca que, vamos, esto es una auténtica revolución muy relacionada context receivers que también hablamos durante la charla y bueno, también las diferencias sobre que hay entre KAPT, KSP y K2, que ya se puede probar, por cierto no dejando de lado las diferencias que hay entre…