Advanced multi-platform dependency injection

Salomon BRYS


Kodein Koders

Dependency Injection is a complicated topic, and when used in a project that compiles to multiple targets through different compilers & runtimes, it can lead to serious headaches. However, the Inversion of Control pattern brings a lot of architecture features and safety.
In this talk, we will see how to use all the power of Kodein-DI (a popular dependency injection framework that works everywhere Kotlin can compile to) in a mobile multi-platform project targeting Android through Kotlin/JVM, iOS through Kotlin/Native and the mobile Web through Kotlin/JS.
First, we will see how to use DI to abstract and test multi-platform business modules as well as how to debug common binding and retrieval errors. Next, we will abstract & test behaviour by embedding the DI framework into popular behaviour architecture patterns such as MVP & MVVM. Finally, we will enhance our code using the advanced features of Kodein-DI such as set bindings, lazy access, context and scopes.

Deeply rooted in the Open-Source philosophy, Salomon is the founder of the Kodein Koders company and the creator of the Kodein multi-platform framework. His focus has always been on libraries : he is dedicated to making tools and libraries to make programming easier, safer, and more exciting.
He has believed and invested in the Kotlin multi-platform technology from the start : Kodein-DI was the first non-JetBrains multi-platform library.
He's also addicted to board-gaming and a private plane pilot.