26-5-2025

Zooma @ KotlinConf2025 in Copenhagen

On May 22nd and 23rd, the KotlinConf 2025 took place in Copenhagen. An event where more than 2000 people from all over the world gathered to talk about the Kotlin programming language, listen to talks about Kotlin and get in touch with others who love Kotlin as much as we do. Zooma went with a delegation of four: Kevin, Leonhard, Martijn and Bas.

App

Kotlin Multiplatform: One codebase for multiple platforms

Meanwhile, Jetbrains is working on many things, but the biggest topic right now is Kotlin Multiplatform. That's a way to write Kotlin code on multiple platforms, including Android, iOS, web and desktop. Built on top of that is Compose Multiplatform, where you can also share the user interface. These are things that Zooma is currently exploring and trying out. So there was a talk about ways to share code with iOS and how to do that in the best way. Larger companies like X also talked about how they deal with Kotlin Multiplatform. Interesting to see what techniques they use and nice to see that we use several techniques as well. Several of us are already using this technique for our own projects, and the results are promising. For apps that really lend themselves to it, it saves a lot of time not having to build everything twice. That time can then be used for additional features.

Hot Reload and Swift Export

JetBrains also announced some new features in Kotlin Multiplatform, such as Hot Reload and Swift Export. Hot Reload is a way to program and immediately see the changes on the screen. Swift Export is something that iOS developers have long been waiting for, as it converts Kotlin code to Swift code, which iOS developers themselves usually work with. Here we could already see how that works, as well as how they solved it internally. Very interesting to see the problems they ran into and the solutions to them. A nice look behind the scenes. Besides these big features, some smaller but welcome new features were also announced, such as parallel rendering for improved performance and a new, more logical navigation library (Navigation 3).hot-reload.jpgHot Reload presentation

Jetpack Compose

Also inspiring was Chris Horner's talk on creative user interfaces. In it, he showed how he recreated a chat app from a video game in Jetpack Compose as an Android app. Impressive what is possible with Jetpack Compose. Your creativity is the limit!

Web

Compose HTML and Kobweb

Compose HTML is a way to build Web sites using Kotlin, where you write HTML and styling in Kotlin code instead of traditional HTML or JavaScript. Kobweb is a framework on top of Compose HTML, developed by JetBrains, that simplifies building modern, static or dynamic Web sites in Kotlin. Among other things, Kobweb has support for routing, component structure and integration of backend functionality, allowing you to develop a complete Web application using only Kotlin.build-websites-in-kotlin-compose-html-kobweb.jpgKobweb presentation

Backend

Ktor, Exposed and More

Of course, it wasn't just about apps and front-end. The backend was also amply covered. For example, at Zooma we use Ktor as a server and Exposed as an ORM framework for database communication. During KotlinConf we got a taste of what is coming in the new version of Exposed and what else they are planning in the future. For example, some parts have become even easier and a migration tool has been created. Many people (including us) were waiting for this. Good that the community is being listened to.ktor.jpgKtor presentation

Bug

The KotlinConf 2025 app was of course built with Kotlin Multiplatform, and while using it we discovered an unexpected bug. At the JetBrains booth, we were able to reproduce the issue live, leading to surprised but enthusiastic responses. The team was happy to receive our report, as such feedback helps to make Kotlin Multiplatform even more robust.

we-found-a-bug.jpeg

Conclusion

KotlinConf 2025 in Copenhagen was a fun and educational experience. We met the community and got a lot of inspiration. See you next year in Munich! Here are some more mood pictures.

kotlinconf-opening-keynote.jpgbuild-nes-emulator-with-kotlin.jpgkmp-music-reader.jpegkotlinconf-afterparty.jpg

Written by

Kevin M

Next

Collaboration with ADHDcentraal