injekt
Kodein
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
injekt
-
Here is an article about my DI library for Kotlin Mutliplatform
Similar effort that's a bit more fleshed out: https://github.com/IVIanuu/injekt
Kodein
-
Kodein VS MocKMP - a user suggested alternative
2 projects | 9 Nov 2022
-
Do we really need to use Dependency Injection Framework?
Now I will finish up saying Hilt is just an opinionated way to dependency injection on Android, but there are simpler frameworks out there such as Koin or Kodein that can help take away a lot of the troubles that can come when you try to make your own framework. Just know that most other frameworks tend to be runtime injection instead of compile time injection like Hilt, which can be helpful to know at compile time if you are missing a dependency in your graph as opposed to runtime when its out in the wild.
-
Yet another DI library, bit this time it's not a service locator
Long answer: My pain mostly comes from using [Kodein](https://github.com/Kodein-Framework/Kodein-DI/) and a custom service locator in an iOS/Swift project. Other than that I have very little experience with DI (e.g. I never used Dagger so far), so my opinion might be a little biased. Also, both of these projects are really large, so, in many cases, a class is declared in one module but used in a completely different module and the DI or service locator is sort of the glue between the modules.
What are some alternatives?
PopKorn - DI can be simple. Forget about modules and components. Just use it!
koin - Koin - a pragmatic lightweight dependency injection framework for Kotlin & Kotlin Multiplatform
Balloon - :balloon: Modernized and sophisticated tooltips, fully customizable with an arrow and animations for Android.
kotlin-guice - Guice DSL extensions for Kotlin
Only - :bouquet: An easy way to persist and run code block only as many times as necessary on Android.
injekt
NoCopy Compiler Plugin - A Kotlin compiler plugin that removes the `copy` method of data classes.
kapsule - Minimalist dependency injection library for Kotlin.
KODI - light-weight KOtlin Dependency Injection (KODI)
kotlin-guiced - Convenience Kotlin API over the Google Guice DI Library
Katana - Lightweight, minimalistic dependency injection library for Kotlin & Android
Kodein-DB - Multiplatform NoSQL database