anvil
A Kotlin compiler plugin to make dependency injection with Dagger 2 easier. (by square)
kotlin-inject
Dependency injection lib for kotlin (by evant)
Our great sponsors
anvil | kotlin-inject | |
---|---|---|
7 | 7 | |
1,033 | 505 | |
1.7% | - | |
8.5 | 6.0 | |
5 days ago | 3 days ago | |
Kotlin | Kotlin | |
Apache License 2.0 | Apache License 2.0 |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.
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.
anvil
Posts with mentions or reviews of anvil.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-10-02.
-
Whetstone: A DI framework for Android that simplifies working with Dagger 2 using Anvil
In terms of of what Anvil is I'd really recommend reading the README It's a lot more flexible than Hilt and provides a code generation hook so if you have a codebase specific DI pattern you can also set that up to be auto-generated with a custom annotation if you desire.
-
Anvil, generating factories without kapt, and module structure.
Recently I've been looking into Anvil as an alternative to Dagger and realised that it can handily generate factories for you without kapt. That brings some exciting potential for build time improvement so I was eager to try it out. However very quickly I got stuck.
-
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:
kotlin-inject
Posts with mentions or reviews of kotlin-inject.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-09-02.
-
Alternative to Hilt for KMM but not Koin
I haven't used it myself you could check out: https://github.com/evant/kotlin-inject
-
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.
-
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.
What are some alternatives?
When comparing anvil and kotlin-inject you can also consider the following projects:
koin - Koin - a pragmatic lightweight dependency injection framework for Kotlin & Kotlin Multiplatform
dikt - Simple and powerful DI for kotlin multiplatform
Kodein - Painless Kotlin Dependency Injection
motif - A simple DI API for Android / Java
ksp - Kotlin Symbol Processing API
NotyKT 🖊️ - 📒 NotyKT is a complete 💎Kotlin-stack (Backend + Android) 📱 application built to demonstrate the use of Modern development tools with best practices implementation🦸.