Because I would not recommend Koin at this stage. I am not saying it is a bad framework, but I do not think it is a great framework either. In smaller applications, I find it is trivially easy to write my own Injector and Service Locator (if I need one) using AndroidViewModel and lazy delegates in Kotlin.

In larger applications, Dagger 2 is a much better option in terms of scalability, performance, and it tells you that you have messed about before you even need to deploy.

I’m confused about what you mean with “No code generation — no pain.” Could you clarify this point? My understanding is that compile time code generation is one of the primary reasons to pick Dagger 2 over alternatives.

Written by

Self-taught software developer & student of computer science.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store