Multiplatform dependency injection libraries equivalent to Dagger/Anvil

This page summarizes the projects mentioned and recommended in the original post on /r/Kotlin

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • anvil

    A Kotlin compiler plugin to make dependency injection with Dagger 2 easier. (by square)

  • 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:

  • Dagger2

    A fast dependency injector for Android and Java.

  • 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:

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • koin

    Koin - a pragmatic lightweight dependency injection framework for Kotlin & Kotlin Multiplatform

  • I started looking into using Kotlin/JS, and hopefully reusing a bit of code that I have, which is using Dagger and Anvil - which of course are JVM only. So I've been looking for other solutions, namely Koin and Kodein. Koin's multibinding support is... not really amazing (e.g. here, and while Kodein does support multibinding, it doesn't seem to support things like that at the declaration site - everything needs to be specified in a "DI container" (module).

  • dikt

    Simple and powerful DI for kotlin multiplatform

  • You might want to check this out https://github.com/sergeshustoff/dikt. The repo also lists other alternatives that you can look into.

  • kotlin-inject

    Dependency injection lib for kotlin

  • I would suggest looking at Kotlin-Inject, it's a compile-time DI like Dagger and it's really pleasant to use.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts