This full-day workshop aims to share with you the power and the beauty of Kotlin. We imply that you consider using Kotlin in your every-day work and want to feel more confident with the language first. We'll have a basic overview of the language, as well as a discussion of some corner cases, especially concerning Java interoperability. The workshop is based on your Java experience; it shows the similarities between two languages and focuses on what's going to be different. We'll cover: Basic syntax, nullability, object-oriented programming with Kotlin, functional programming with Kotlin Java interoperability and building DSLs.
This workshop covers asynchronous programming in Kotlin using coroutines. It starts with basics of asynchronous programming and its differences from blocking code and introduces concepts of suspending functions and coroutines. Dealing with the ecosystem of blocking code on JVM is covered in depth as well as best practices for managing cancellation of asynchronous operations. The workshop also covers more advanced topics of concurrent decomposition of work via futures, deep dive into coroutine contexts and includes an overview of Communication Sequential Process (CSP) approach and channels.
In this workshop you will learn how to convert an existing Java application to Kotlin. With an in-depth dive into Kotlin and Android best practices you’ll walk away ready to apply Kotlin to your app. We’ll also learn about how to use Arch Components in Kotlin and Android KTX.
If you're a Java developer who hasn't yet made the leap to Kotlin, this workshop is for you. Working as a group, we'll take existing Java code, convert it with a single IntelliJ command, and then refactor the results to idiomatic Kotlin. We'll see how to take advantage of the language to make code smaller, faster and more expressive, whilst at the same time interoperating with your existing application and Java libraries. In the afternoon we'll move from the prepared exercises to your code, working together to apply the techniques and insights from the morning to real codebases with real constraints. So if you have some code you'd like to start migrating, bring it along on a laptop with IntelliJ installed.