Sobes.tech
Junior — Middle

Que ferramentas ou bibliotecas de Dependency Injection utilizou nos seus projetos?

sobes.tech IA

Resposta da IA

Nos projetos Android, frequentemente utilizam-se as seguintes bibliotecas para injeção de dependências:

  • Dagger 2 — um framework DI estático e compilado do Google que gera código na fase de compilação, garantindo alto desempenho.
  • Hilt — uma camada superior sobre Dagger 2 que simplifica o seu uso e integração com componentes Android.
  • Koin — um framework DI leve em Kotlin que não requer geração de código e é mais fácil de configurar, adequado para projetos pequenos e médios.

Exemplo de uso do Koin:

// Definição do módulo
val appModule = module {
    single { Repository() }
    factory { ViewModel(get()) }
}

// Inicialização do Koin na Application
class App : Application() {
    override fun onCreate() {
        super.onCreate()
        startKoin {
            androidContext(this@App)
            modules(appModule)
        }
    }
}

// Injeção na Activity
class MainActivity : AppCompatActivity() {
    private val viewModel: ViewModel by inject()
}

A escolha da ferramenta depende dos requisitos do projeto e das preferências da equipa.