The event, hosted at the VRT buildings, consisted of three talks, each about an hour long, followed by a Q&A session. While not all talks were directly related to mobile application development, all of them were relevant to the use of Kotlin.
Let's dig a little deeper and give a quick summary of each talk:
Spring Framework 5
This talk was mostly an overview about the most important features of the new Spring 5 framework. As such, the focus was mostly on Java developers wondering how to use their favourite web framework with Kotlin. Perhaps a bit less useful for the mobile developers amongst us, but with ideas such as Reactive Streams and Spring Webflux nonetheless quite interesting.
Perhaps most importantly, this talk demonstrates that the use of Kotlin is clearly not confined to the mobile application space, but can in fact be used for all kinds of projects including backend development. Because the language runs on the JVM this makes sense, yet it's great to see that libraries such as Spring (a traditional bastion of Java) are fully embracing it as a first-class citizen on the platform. Clearly, Kotlin is here to stay!
Functional Programming with Kotlin
This one was not for the faint of heart. Starting from a simple program evaluating math expressions (sum, subtraction, div) we learn about functional programming paradigms through the Kategory library (written in Kotlin of course). As it turns out, the use of functional programming can greatly enhance the expressiveness of your data models. We're not quite certain we managed to grasp all of it, but you can bet we'll be taking a closer look!
Also, monads were involved, but don't worry; we all managed to make it home alive.
The last talk showed us how to translate the tried and tested advice of the book Effective Java by Joshua Bloch to the Kotlin language. Following this presentation, it doesn't take long to realise how much simpler and sensible the design of Kotlin is compared to Java. Particularly interesting to note is that JetBrains has applied many of the best practices described in Effective Java directly to the Kotlin compiler, thereby eliminating entire classes* of errors.
We're certainly eager to try some of these best practices in our next Android app.
* Pun intended