Session
Schedule FOSDEM 2022
Kotlin

Advanced multi-platform dependency injection with Kotlin

D.kotlin
Romain Boisselle
<p>Dependency Injection is a complicated topic, and when used in a project that compiles to multiple targets through different compilers &amp; runtimes, it can lead to serious headaches. However, the Inversion of Control pattern brings a lot of architecture features and safety.</p>
In this talk, we will see how to use all the power of Kodein-DI, a popular dependency injection library that works everywhere Kotlin can compile to, in a mobile multi-platform project targeting Android, iOS and the mobile Web. We will start by using the dependency injection pattern to abstract and test the behavior of multi-platform business modules. We will then see how to debug common dependency management errors. Finally, we will enhance our common code using advanced features of Kodein-DI such as set bindings, lazy access, context, and scopes.

Additional information

Type devroom

More sessions

2/6/22
Kotlin
D.kotlin
<p>Welcoming participants to the virtual edition of the Kotlin DevRoom @ FOSDEM</p>
2/6/22
Kotlin
Anton Arhipov
D.kotlin
<p>In 2021 Kotlin turned 10 and the team delivered 2 major releases (1.5.0 and 1.6.0) and a few minors. The main themes of those releases were Java interoperability and consistency of the language features. Meanwhile, Kotlin/JS has been promoted to Beta and KMM is on its path to reaching Beta status as well. However, one long-running project in Kotlin is the development of the new compiler, K2, which should set a solid foundation for the language and the ecosystem for the years ahead.</p> ...
2/6/22
Kotlin
Marcin Moskala
D.kotlin
<p>The Kotlin typing system is amazingly designed. It was designed and constantly improved for years, and it was built based on experiences from other typing systems. As a result it gives us very comfortable nullability support, type inference, universal guards, and much more. In this presentation, we’ll dive deep into Kotlin typing systems and how small design choices lead to a better programming experience.</p>
2/6/22
Kotlin
Holger Brandl
D.kotlin
<p>kalasim is a discrete event simulator written in pure Kotlin that enables complex, performant, dynamic process models. It provides a statically typed API, dependency injection, modern persistence, structured logging and automation capabilities.</p> <p>kalasim is designed for simulation practitioners, process analysts and industrial engineers, who need to go beyond the limitations of existing simulation tools to model and optimize their business-critical use-cases. In contrast to many other ...
2/6/22
Kotlin
Dinorah Tovar
D.kotlin
<p>Grab your notebook cause in this talk, we are gonna talk about Math and Kotlin! Especially in the power that Kotlin has to run long operations and the power to perform some calculations like computing min, max, an average of numbers stored in a list! - from sumOf {} to multi-dimensional arrays to charts!</p>
2/6/22
Kotlin
Julien Lengrand-Lambert
D.kotlin
<p>picoCLI is a small library that can be used to create JVM based command line interface applications. Within 30 minutes, we'll look at how to setup a project, create a small application and package it for others to use.</p>
2/6/22
Kotlin
Anna Zharkova
D.kotlin
<p>KSP (Kotlin Symbol Processing) is an API from Google for writing Kotlin compiler plugins. Using KSP we can write annotation processors to reduce boilerplate and solve cross-cutting concerns. Also KSP is more effective than KAPT. Among the advantages of using it is the support of Kotlin Multiplatform. Another way to optimize common code is to use Kotlin plugins. In my talk I would to like to show some samples how to use own plugins and KSP processing in Kotlin Multiplatform app supporting both ...