Kotlin Multiplatform

visit website

Kotlin Multiplatform (KMPP) is the ability to write pure Kotlin code (meaning having no platform specific code in it), combined with platform-specific Kotlin code, and run this on multiple platforms. This is done with the help of Kotlin/JVM to target JVM platforms (like Android), Kotlin/Native to target native platforms (using a LLVM backend, targetting platform like iOS, macOS, Windows,..), and Kotlin/JS to use in javascript codebases.

We already know from tools like Flutter and React that using the same language for multiple platforms is a big advantage. One of the disadvantages of these tools is that combining them with native code isn't that easy. Since Kotlin compiles/transpiles to actual native code, interop is as easy as mixing Kotlin with Java on Android.
Note that KMMP isn't a cross-platform framework which forms the base of your app. It's better to compare it with an additional library you add to your existing native app. The developer itself is in charge of how much code is shared between platforms, ranging from a single method to the whole app. Multiple official and community-backed libraries are available to ease development, from API calls to storage to UI development (like Jetpack Compose).

Why do we assess this technology?

Although we're a big fan of this technology, it is currently still officially in alpha, and we notice why. One of the things is that it currently still requires too much boilerplate setup, making it very cumbersome to set up. Also several basic building blocks are still lacking or in an early version. We do know that this is simply a matter of time, and are looking forward using this technology in the future