Home Mobile Koin vs Dagger

Koin vs Dagger

0

Menurut Anda mana yang lebih bagus? Dagger atau Koin? Anda pasti juga sudah merasakan kelebihan dan kekurangan masing-masing framework nya bukan ?. Baik, kita rangkum terlebih dahulu konsep dasar dari keduanya.

Perbedaan FungsiĀ 

KoinDagger
Modulemodule{}@Module
Cara Providefactory {}@Provides dan @Binds
Singletonsingle {}@Singleton
Constructor Injectionget ()@Inject Pada Constructor
Inject Ke ActivityMenggunakan startKoinMenggunakan Componen
Untuk generate kode injection
Inject ContextandroidContext@BindsInstance
Inject Ke Fieldby Inject@Inject
Inject ViewModelviewModel {} dengan by viewModel ()Dagger Multi binding dengan @IntoMap

Kelebihan dan kekurangan

KoinDagger
BahasaDibuat dengan kotlinDibuat dengan java
Code generationTanpa generate codeBanyak kode yang di generate
Baris kodeLebih sedikitLebih banyak
AnnotationTanpa annotationMenggunakan Annotation
ErrorError baru diketahui saat runtimeError diketahui sejak di compile
Track ErrorLebih mudah dicariLebih sulit dicari
PenggunaMasih baru dibandingkan dengan daggerSudah banyak digunakan perusahaan besar sejak lama
Proses belajarLebih mudah dipelajariLebih sulit dipelajari

Menurut saya Koin sangat jauh lebih mudah dan simpel untuk dipelajari. Apalagi Koin sudah support dengan ViewModel yang membuatnya unggul. Namun perhatikan bahwa tidak dipungkiri saat ini perusahaan besar masih menggunakan Dagger karena ia sangat robust alias kuat. Jadi Anda juga harus paham tentang Dagger jika ingin diterima di perusahaan tersebut. Selain itu support Google di belakangnya akan membuat Dagger semakin terintegrasi dengan Android Studio.