Ralf Wondratschek

Principal Engineer at Amazon

Talk Title

Extending kotlin-inject for fun & profit







on Twitter

Kotlin-inject is a dependency injection framework for Kotlin Multiplatform. It verifies the dependency graph during compilaton and generates the necessary code to instantiate the object graph at runtime. It offers a similar feature set as Dagger 2 without the limitation of being tied to the JVM and Android only.

This talk will offer a short introduction to kotlin-inject and discuss its benefits and downsides and how the framework scales in large, modularized code bases. To close some of the gaps and solve project specific use cases KSP and custom code generators will be used to extend the framework and to give us features similar to the ones Anvil provides for Dagger 2. These practical examples serve as an introduction and blueprint into the meta-programming world to reduce boilerplate and simplify patterns in your code base.

Speaker Bio

Ralf is a principal engineer at Amazon and helps simplify the delivery process of millions of packages. This includes providing a platform for internal and external partners to integrate their features, shipping applications for vehicles and other form factors and making the whole delivery process safer.

Prior to Amazon Ralf led the feature sandboxing initiative at Square. He created and maintains several open-source projects on Github like Anvil. Anvil makes dependency injection with Dagger 2 easier and is used by many other companies like Tonal, Slack, Dropbox and Snap.