Con el mayor uso de Kotlin para el desarrollo móvil y de aplicaciones de servidor, el ecosistema asociado continúa evolucionando. Koin es un marco de trabajo de Kotlin que gestiona uno de los problemas más comunes en el desarrollo de software: la inyección de dependencias. Aunque se puede elegir entre una variedad de marcos de trabajo para la inyección de dependencias para Kotlin, nuestros equipos han llegado a preferir la simplicidad de Koin. Koin evita el uso de anotaciones e inyecta dependencias a través de constructores o imitando la inicialización diferida (lazy initialization) para que los objetos sean inyectados solo cuando se les necesite. Esto contrasta con el marco de trabajo estáticamente compilado Dagger para Android. A nuestras personas desarrolladoras les gusta la naturaleza ligera de este marco de trabajo y las capacidades incorporadas para la escritura de pruebas.