Apa perbedaan antara Dagger, Hilt dan Koin di bawah kap?

Halo, Habr. Untuk siswa masa depan kursus "Pengembang Android. Profesional" menyiapkan terjemahan tradisional dari materi.



Kami juga mengundang semua orang ke webinar dengan topik
"Membuat profil dan mempercepat build Gradle" . Selama pelajaran, para peserta, bersama dengan seorang ahli:

- belajar bagaimana menemukan bottleneck di majelis menggunakan gradle-profiler, scan dan visualVM;

- pelajari cara mengonfigurasi Gradle dengan benar;

- akan mempertimbangkan kemungkinan lain untuk mengoptimalkan dan mempercepat perakitan pada proyek besar.






Dagger dan Koin tidak diragukan lagi adalah dua framework injeksi ketergantungan paling populer di Android. Kedua perpustakaan ini melayani tujuan yang sama dan tampak sangat mirip, tetapi bekerja dengan cara yang berbeda.





Hilt? Hilt โ€” , Dagger , , Dagger, Hilt.





, . , , .





Dagger

, Dagger - , , , @Inject



.





, Dagger (Factory) . , โ€” CompositeAdapter



, CompositeAdapter_Factory



.





, CompositeAdapter



.





Cuplikan kode yang dibuat oleh 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



, , , .





Keluaran perakitan belati dengan anotasi @Inject yang hilang
Dagger @Inject

Koin . , CompositeAdapter



, , RuntimeException



, . , , , - - .





Koin melempar pengecualian saat tidak ada pabrik untuk CompositeAdapter
Koin , CompositeAdapter

2.

, Koin , : . Dagger . .





3.

, Koin , .





? , , . , , .. - 4 .





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