
Ivan "CLOVIS" Canet
Kotlin Multiplatform Developer & OpenSavvy Organization
KtMongo: Towards the future of MongoDB in Kotlin
Exploring MongoDB drivers evolution and DSL crafting in Kotlin
Ivan loves code and dislikes magic. He discovered Kotlin in 2017 while writing a client-side API that would be duplicated between the JVM and JS and evaluating different multiplatform solutions. He’s been active in the Kotlin ecosystem through the forums and the OpenSavvy organization, focusing on creating libraries for Kotlin Multiplatform, especially for server-side and JS targets.
Talk Abstract
Database drivers are always complex pieces of software: they must provide an idiomatic way to declare requests in their host language, without sacrificing the expressiveness of their query language. We explore how MongoDB drivers have adapted to Java and Kotlin over the years, from the official Java driver, to the community KMongo library, to the official Kotlin driver, to finally KtMongo.
We introduce various Kotlin features and tricks that simplify database interoperability, from making simple requests to introducing type-safety into complex aggregations. We dive into the craft of writing DSLs, and into ways Kotlin helps small teams build large projects piece by piece.
By the end of this talk, you will be able to navigate DSLs: from extension lambdas, context parameters, opt-ins and interface delegation.