Was ist der Unterschied zwischen Dolch, Griff und Koin unter der Haube?

Hallo Habr. Für zukünftige Studenten des Kurses "Android Developer. Professional" wurde eine traditionelle Übersetzung des Materials erstellt.



Wir laden auch alle zum Webinar zum Thema
"Profilerstellung und Beschleunigung von Gradle-Builds" ein . Während des Unterrichts

lernen die Teilnehmer zusammen mit einem Experten: - mithilfe von Gradle-Profiler, Scan und VisualVM Engpässe in Baugruppen zu finden;

- lernen, wie man Gradle richtig konfiguriert;

- wird andere Möglichkeiten zur Optimierung und Beschleunigung von Baugruppen in einem großen Projekt in Betracht ziehen.






Dagger und Koin sind ohne Zweifel die beiden beliebtesten Frameworks für die Abhängigkeitsinjektion unter Android. Beide Bibliotheken dienen demselben Zweck und scheinen sehr ähnlich zu sein, funktionieren jedoch auf unterschiedliche Weise.





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





, . , , .





Dagger

, Dagger - , , , @Inject



.





, Dagger (Factory) . , — CompositeAdapter



, CompositeAdapter_Factory



.





, CompositeAdapter



.





Von Dagger generierter Codeausschnitt
, 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



, , , .





Ausgabe der Dolchbaugruppe mit fehlender @ Inject-Annotation
Dagger @Inject

Koin . , CompositeAdapter



, , RuntimeException



, . , , , - - .





Koin löst eine Ausnahme aus, wenn es keine Factory für CompositeAdapter gibt
Koin , CompositeAdapter

2.

, Koin , : . Dagger . .





3.

, Koin , .





? , , . , , .. - 4 .





Quelle: 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