Kotlin 2.2: Adiós al Boilerplate en KMP 🚀
Si has pasado parámetros por capas y capas, ¡esto te interesa! Kotlin 2.2 introduce los 'context parameters', una forma elegante de eliminar la necesidad de inyectar dependencias manualmente, gestionar transacciones de b
Artículo
Una lectura sobre tecnología y sistemas digitales, escrita para ir al punto y dejar claras las ideas principales.
Tema principal
desarrollo web
Fuente
dev.to
Puntos clave
- Si has pasado parámetros por capas y capas, ¡esto te interesa! Kotlin 2.2 introduce los 'context parameters', una forma elegante de eliminar la necesidad de inyectar dependencias manualmente, gestionar transacciones de b
- En un módulo KMP de producción con ~80 casos de uso, migrar a context parameters redujo el boilerplate en un tercio.
- Aquí tienes 3 patrones de producción:
- Reemplaza Service Locators en KMP: Inyecta dependencias en el punto de llamada, sin frameworks.
Bloque 1
Si has pasado parámetros por capas y capas, ¡esto te interesa! Kotlin 2.2 introduce los 'context parameters', una forma elegante de eliminar la necesidad de inyectar dependencias manualmente, gestionar transacciones de base de datos sin `ThreadLocal` y propagar el contexto de autenticación en arquitecturas limpias.
En un módulo KMP de producción con ~80 casos de uso, migrar a context parameters redujo el boilerplate en un tercio.
Bloque 2
Aquí tienes 3 patrones de producción:
• Reemplaza Service Locators en KMP: Inyecta dependencias en el punto de llamada, sin frameworks. • Gestiona Transacciones de BD: Elimina `ThreadLocal` y simplifica la gestión de transacciones. • Propaga Contexto de Autenticación: Simplifica la propagación del contexto en arquitecturas multicapa.
Bloque 3
¡Ojo! La resolución de sobrecarga y la inferencia de tipos con genéricos pueden ser complicadas. Además, ten cuidado con la interacción con corutinas.
Empieza a usar context parameters en los puntos de entrada de tus casos de uso y deja que se propaguen hacia adentro. ¡La reducción de código repetitivo vale la pena!
Bloque 4
¿Cómo están resolviendo la inyección de dependencias y la gestión de contexto en sus arquitecturas Kotlin?