Sobes.tech
Junior — Middle

¿Qué herramientas o bibliotecas de inyección de dependencias has utilizado en tus proyectos?

sobes.tech AI

Respuesta de la IA

En los proyectos de Android, a menudo se utilizan las siguientes bibliotecas para la inyección de dependencias:

  • Dagger 2 — un marco de DI estático y compilado de Google que genera código en tiempo de compilación, lo que garantiza un alto rendimiento.
  • Hilt — una capa superior sobre Dagger 2 que simplifica su uso e integración con componentes de Android.
  • Koin — un marco de DI liviano en Kotlin que no requiere generación de código y es más fácil de configurar, adecuado para proyectos pequeños y medianos.

Ejemplo de uso de Koin:

// Definición del módulo
val appModule = module {
    single { Repository() }
    factory { ViewModel(get()) }
}

// Inicialización de Koin en Application
class App : Application() {
    override fun onCreate() {
        super.onCreate()
        startKoin {
            androidContext(this@App)
            modules(appModule)
        }
    }
}

// Inyección en Activity
class MainActivity : AppCompatActivity() {
    private val viewModel: ViewModel by inject()
}

La elección de la herramienta depende de los requisitos del proyecto y las preferencias del equipo.