kotlin-inject
Dagger2
Our great sponsors
kotlin-inject | Dagger2 | |
---|---|---|
9 | 50 | |
1,082 | 17,311 | |
- | 0.3% | |
8.0 | 9.1 | |
6 days ago | 3 days ago | |
Kotlin | Java | |
Apache License 2.0 | Apache License 2.0 |
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.
kotlin-inject
-
From Dagger & Hilt into the multiplatform world with kotlin-inject
Depending on how you use Anvil, there are definitely things that are missing/not as straightforward, e.g. https://github.com/evant/kotlin-inject/issues/212
-
What happened to the Koin hype?
I haven't used koin in a couple years since my newer jobs are using hilt and dagger/anvil for the compile time safety. In my personal projects I have been using kmp which when I started two years ago, koin was in alpha which was why I decided to use kodein. Which koin is stable in kmp, although kotlin-inject seems like a promising kmp compile time di in place of dagger.
- Alternative to Hilt for KMM but not Koin
-
Multiplatform dependency injection libraries equivalent to Dagger/Anvil
I would suggest looking at Kotlin-Inject, it's a compile-time DI like Dagger and it's really pleasant to use.
- Nine circles of hell to migrate a Kotlin Multiplatform project to the koin-annotations
-
Is there extra benefits of using Koin instead of Dagger Hilt in KMM?
Dagger/ hilt will not work on kmm being that they are java projects. One project that is similar to them though on kmm is kotlin-inject which might be something to look at.
-
Yet another DI for kotlin multiplatform
I'd say it's second after this one. That one has multiplatform support in snapshot version, while mine is in alpha)
-
Yet another DI library, bit this time it's not a service locator
Interesting! Author of kotlin-inject here, I had originally looked at writing a compiler plugin and using IR but the lack of documentation and a non-stable api scared me away. Cool that you were able to get it to work.
Dagger2
- Dagger 2.49 (KSP, @AssistedInject with @HiltViewModel, more)
- Dagger 2.48 adds alpha KSP support
- Dagger KSP update & Breaking changes required to use Dagger KSP
-
Performance and memory impact of the @Singleton annotation in Dagger
There used to be a thing called "releasable references" which was that. It was removed, though: https://github.com/google/dagger/issues/1117
-
Dependency injection with AWS Lambdas in java
As said in the title, we will focus on the dependency inversion principle and one of its application : dependency injection. For production-ready applications, it would be better to rely on a framework and not implement its own container. For it, the java ecosystem have 3 frameworks available : Spring, Guice and Dagger.
-
Refactoring our Dependency Injection using Anvil
At Reddit, we use Dagger 2 for handling dependency injection (DI) in our Android application. As we’ve scaled the application over the years, we’ve accrued a bit of technical debt in how we have approached this problem.
-
Dagger Python SDK: Develop Your CI/CD Pipelines as Code
Confusing. I initially thought someone ported the Dagger DI framework to Python: https://dagger.dev/
-
Multiplatform dependency injection libraries equivalent to Dagger/Anvil
I'm currently using Dagger and Anvil for my DI needs. It's been working really well, especially around what Anvil permits in terms of multibindings defined on the type declaration rather than in a module. For example:
-
Dagger 2.43 released with support for multiple instances of the same ViewModel using keys 🎉
Great job, I have been waiting for this feature/fix for a long time https://github.com/google/dagger/issues/2328
-
Best libraries for Android Developers
Dagger
What are some alternatives?
koin - Koin - a pragmatic lightweight dependency injection framework for Kotlin & Kotlin Multiplatform
Guice - Guice (pronounced 'juice') is a lightweight dependency injection framework for Java 11 and above, brought to you by Google.
anvil - A Kotlin compiler plugin to make dependency injection with Dagger 2 easier.
Toothpick - A scope tree based Dependency Injection (DI) library for Java / Kotlin / Android.
Kodein - Painless Kotlin Dependency Injection
Weld - Weld, including integrations for Servlet containers and Java SE, examples and documentation
dikt - Simple and powerful DI for kotlin multiplatform
butterknife - Bind Android views and callbacks to fields and methods.
ksp - Kotlin Symbol Processing API
HK2
motif - A simple DI API for Android / Java
Dynamic CDI - Dynamic Context Dependency Injection