Closed Czeach closed 1 year ago
Should we consider Koin instead? If we truly want to go multiplatform? There are performance tradeoffs between these DI frameworks.
Build times will be faster with Koin but that shouldn't be the sole reason for it... Let's chat more about this 😃
If you want something like dagger that supports multiplatform 😉 https://github.com/evant/kotlin-inject
Hm, Hilt / Dagger would only be possible for Android. But this is a multiplatform project. I personally think the project should just use custom DI. Using the same solution for the whole project, even shared code. With Kotlin's default parameter values it's pretty simple, less overhead.
I would recommend, using Koin. It has support for multiplatform https://insert-koin.io/docs/reference/koin-mp/kmp
I really don't see the benefit of using Koin. You still have to write modules. Kotlin's default parameter values solve 90% of all DI needs imho. In my personal project I was using Koin before, then migrated to custom DI and was saving so much lines of code 🤩
My vote is to use https://github.com/evant/kotlin-inject
It is to the jsr330 spec and works in kmp. Plus Evan is here to do support if it fails 😆
I vote for koin, since it is the solution I had less trouble with in different KMP/KMM project.
Description
Set up Hilt (or Dagger) library for dependency injection
Additional Information
No response