I’m back from visiting Kopenhagen, Denmark with a lot of new insights about Kotlin. KotlinConf was hosted in Bella Center, Kopenhagen on 4-6 December and it was all about Kotlin Native, Coroutines and Kotlin in back-end systems. I didn’t see all the talks during the conference of course but I still wanted to share my own top 5 talks that I saw during KotlinConf.
#5 Testing with Coroutines by Sean McQuillan
In this talk we’ll explore kotlinx.coroutines.test. You’ll learn how to use the library to make writing test code with coroutines straightforward, as well as explore ways you can use it in hard to test situations. The talk will cover both general coroutine testing practices, and some Android specific details.
#4 Ktor for Mobile Developers by Dan Kim
Building mobile apps is what we love to do, but there’s always one nagging problem — writing server side components to support our apps can be surprisingly complex and difficult. There’s a lot of overhead and a bunch of unfamiliar languages, frameworks, and styles of programming that we’re not used to. But fear the server no more, here comes Ktor! In this talk we’ll walk through a real world example of how Ktor (and your existing knowledge of Kotlin) makes building server side components for your app a breeze. We’ll start with a basic introduction of Ktor and its components, but we’ll quickly get to building something real. Using a well known service/API, we’ll walk through everything you normally need to get up and running: authentication, getting data, posting data, and deployment.
#3 The power of Types by Danny Preussler
From Assembler, over Fortran and C to modern Kotlin, we came a long way and improved the way we can express our thoughts in code. One thing that happened during this journey is that languages allow us to use types for our problem domain, independent of the underlying computer architecture. Types became a powerful tool. Types improve readability which probably is the most important aspect of programming! But types also prevent you from making mistakes at compile time. This is why Kotlin translated the null problem into the type system.
#2 The Compose Runtime, Demystified by Leland Richardson
Jetpack Compose is an ambitious multi-team effort to reimagine Android’s UI Toolkit more than 10 years after the Android Platform launched with the original UI Toolkit. Compose follows a declarative programming model, and the runtime is coupled with a Kotlin compiler plugin to enable a novel new approach to declarative programming. In this talk, Leland will go over the mechanics of how the Compose runtime and compiler plugin work together, demystifying how it can be used to enable efficient and performant user interfaces. In addition, this talk will describe how Compose can operate completely independent of the Android Platform and Compose UI, allowing it to be used as a general language feature for Incremental Computing and the management of tree-like data structures.
#1 Kotlin Puzzlers by Anton Keks
Kotlin is a marvelous language that makes programming on the JVM fun again. During the design phase of the language, it was said that Kotlin specifically tried to avoid some of the most famous Java Puzzlers. However, having so many advanced features in the language it cannot avoid introducing puzzlers of its own. This talk will present some of the more interesting nuances of syntax or language features with the help of small puzzler programs letting the audience guess their behavior. The mystery will then be revealed with an explanation in a fun way.