Quelle est la différence entre Dagger, Hilt et Koin sous le capot?

Bonjour, Habr. Pour les futurs étudiants du cours "Développeur Android. Professionnel" a préparé une traduction traditionnelle du matériel.



Nous invitons également tout le monde au webinaire sur le thème
"Profilage et accélération des builds Gradle" . Au cours de la leçon, les participants, accompagnés d'un expert:

- apprennent à trouver les goulots d'étranglement dans les assemblages en utilisant gradle-profiler, scan et visualVM;

- apprenez à configurer correctement Gradle;

- envisagera d'autres possibilités pour optimiser et accélérer les assemblages sur un grand projet.






Dagger et Koin sont sans aucun doute les deux frameworks d'injection de dépendances les plus populaires sur Android. Ces deux bibliothèques ont le même objectif et semblent très similaires, mais elles fonctionnent de manière différente.





Hilt? Hilt — , Dagger , , Dagger, Hilt.





, . , , .





Dagger

, Dagger - , , , @Inject



.





, Dagger (Factory) . , — CompositeAdapter



, CompositeAdapter_Factory



.





, CompositeAdapter



.





Extrait de code généré par Dagger
, Dagger

, get()



, CompositeAdapter



. , Provider, . Provider .





, Hilt Dagger?

. Hilt — , Dagger , , , Dagger. Hilt, , Dagger , . .





Koin

Koin , Dagger , , Hilt. Koin, , Koin . , , .





Koin InstancesRegistry



, , .





map — , , . — , .





, , , get()



(, ) inject()



, get()



. get()



, , .





?

, Dagger , Koin — .





1.

Dagger — , - , , .





, @Inject



CompositeAdapter



, , , .





Sortie d'assemblage Dagger avec annotation @Inject manquante
Dagger @Inject

Koin . , CompositeAdapter



, , RuntimeException



, . , , , - - .





Koin lève une exception lorsqu'il n'y a pas de fabrique pour CompositeAdapter
Koin , CompositeAdapter

2.

, Koin , : . Dagger . .





3.

, Koin , .





? , , . , , .. - 4 .





Source: https://github.com/Sloy/android-dependency-injection-performance
: https://github.com/Sloy/android-dependency-injection-performance

, Dagger . , Koin , . Dagger , Koin.





, , , . Koin Dagger , . , , , , Dagger Koin, , -, , . , : Koin, Dagger Hilt .





, , , , , .






- "Android Developer. Professional".

-
"Android Developer. Basic".





« Gradle ».








All Articles