Sobes.tech
Middle

Qual abordagem de injeção de dependências (DI) pretende usar?

sobes.tech IA

Resposta da IA

Planeio usar Dagger2/Hilt (se o projeto estiver em Kotlin com Gradle buildSrc/convention plugins ou com possibilidade de migração), pois é o padrão de facto na indústria, fornece verificação estática do grafo de dependências e possui alto desempenho.

As alternativas que também considero, dependendo da escala do projeto e do stack escolhido:

  • Koin: Mais leve, conveniente para projetos pequenos e médios em Kotlin, não requer geração de código.
  • Kodein-DI: Outra biblioteca DI para Kotlin, baseada em DSL.

A escolha de uma abordagem específica depende de:

  1. Linguagem do projeto: Kotlin (Koin, Kodein) ou Java (Dagger2).
  2. Tamanho do projeto: Para projetos grandes, Dagger2/Hilt é preferido devido à verificação estática.
  3. Requisitos de desempenho: Dagger2/Hilt, geralmente, são mais rápidos em tempo de execução.
  4. Experiência da equipe: Se a equipe já trabalhou com uma biblioteca específica, isso pode acelerar o desenvolvimento.

Idealmente, eu buscaria usar Hilt como abordagem recomendada para novos projetos Android que utilizam Jetpack.