Kotlin macht Ernst mit der plattformübergreifenden Programmierung

Kotlin Multiplatform gilt mit der frischen Version 1.9.20 der Programmiersprache als stabil für den Einsatz auf Android, iOS, Desktop und im Browser.

In Pocket speichern vorlesen Druckansicht 11 Kommentare lesen
Kotlin

(Bild: Andrey Suslov/Shutterstock)

Lesezeit: 3 Min.
Inhaltsverzeichnis

JetBrains hat Kotlin 1.9.20 veröffentlicht und damit die plattformübergreifende Entwicklung mit der Programmiersprache stabilisiert: Kotlin Multiplatform (KMP) ermöglicht es, Anwendungen für Android, iOS, Windows, macOS, Linux sowie den Browser mit einer gemeinsamen Codebasis zu erstellen.

Die aktuelle Version der Programmiersprache überführt zudem den neuen K2-Compiler auf allen Plattformen in die Betaphase, die er für die Java Virtual Machine (JVM) bereits in Version 1.9 erreicht hat. Damit ist ein wichtiger (und womöglich letzter) Schritt in Richtung Kotlin 2.0 getan.

KMP setzt auf eine Mischung aus Cross-Plattform-Code und nativen Abschnitten für die einzelnen Systeme, um beispielsweise die Business-Logik in einer gemeinsamen Codebasis zu verwalten, aber die UIs nativ für die jeweiligen Systeme umzusetzen.

Parallel zu Kotlin 1.9.20 ist Compose Multiplatform 1.5.10 erschienen. Das UI-Framework dient dazu, die Oberflächen der Anwendungen plattformübergreifend zu gestalten. Um die native Umsetzung unter der Haube kümmert sich das Framework. Compose Multiplatform gilt zwar seit Ende 2021 als stabil, allerdings derzeit nur für Android und die JVM auf dem Desktop. Die iOS-Anbindung hat noch Alpha-Status, und die WebAssembly-Umsetzung ist als experimentell gekennzeichnet.

KMP kann Teile (links) der Logik oder die gesamte Business-Logik (Mitte) als geteilten Code mit einem nativen UI verbinden. Mit Compose Multipaltform ist auch eine komplett geteilte Codebasis möglich (rechts).

(Bild: JetBrains)

Die ersten Ansätze der plattformübergreifenden Entwicklung brachte Kotlin bereits 2017 mit: Kotlin 1.2 ermöglichte Cross-Plattform-Projekte für die JVM und JavaScript.

Im Jahr 2020 startete JetBrains das Projekt Kotlin Multiplatform Mobile (KMM), das dem Namen getreu vor allem auf den mobilen Bereich zielte und die Cross-Plattform-Entwicklung für Android und iOS ermöglichte. Im Herbst 2022 startete die Betaphase von KMM. JetBrains erweiterte das Projekt im Laufe der Zeit und taufte es schließlich im Juli 2023 in Kotlin Multiplatform um.

Mit dem stabilen Release bringt KMP ein paar Neuerungen mit. Dazu gehört eine Standardvorlage, um plattformübergreifende Projekte für das Build-Werkzeug Gradle zu definieren.

Der stabile Stand bedeutet, dass die Weiterentwicklung von Kotlin Multiplatform rückwärtskompatibel erfolgt. In der Kotlin-Dokumentation finden sich die Stabilitätsrichtlinien für die einzelnen Projektphasen von experimentell über Alpha und Beta bis zu stabil.

Nachholbedarf gibt es derzeit noch bei der WebAssembly-Anbindung, die auch im aktuellen Release noch als experimentell gekennzeichnet ist. Die Umsetzung auf watchOS und tvOS ist bisher nur in der Vorphase nach bestem Bemühen ("Best Effort") verfügbar.

Die weiteren Pläne sehen vor allem Verbesserungen für iOS, darunter eine direkte Interoperabilität zwischen Kotlin und Swift, sowie eine Anbindung an den Swift-Paketmanager (SwiftPM) vor. Für Compose Multiplatform soll die iOS-Variante nächstes Jahr die Betaphase starten.

Hinsichtlich WebAssembly stehen für 2024 die Alphaversionen sowohl von KMP als auch von Compose Multiplatform an.

Weitere Details finden sich in den Blogbeiträgen zu Kotlin Multiplatform, Kotlin 1.9.20 und Compose Multiplatform 1.5.10.

(rme)