Kotlin für Multiplattformprojekte: Bessere iOS-Anbindung für 2024 geplant

Die Roadmap zu Kotlin Multiplatform sieht für 2024 Fortschritte in Compose Multiplatform und einen direkten Export von Kotlin nach Swift vor.

In Pocket speichern vorlesen Druckansicht 3 Kommentare lesen

(Bild: Andrey Suslov/Shutterstock.com)

Lesezeit: 3 Min.
Inhaltsverzeichnis

Kurz nach der Stabilisierung von Kotlin Multiplatform (KMP) hat JetBrains nun die Pläne rund um die plattformübergreifende Programmierung mit der Programmiersprache für das kommende Jahr veröffentlicht. Die Entwicklung für iOS steht dabei besonders im Fokus, aber auch bei den Libraries und dem UI-Toolkit Compose sind zahlreiche Verbesserungen geplant.

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.

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

(Bild: JetBrains)

Bei Android und Desktop laufen die Anwendungen auf der Java Virtual Machine (JVM), die aber unter iOS fehlt. In einigen Bereichen hinkt die iOS-Anbindung bei Multiplattformprojekten mit Kotlin noch hinterher.

In zwei wesentlichen Bereichen will JetBrains das Zusammenspiel mit iOS im kommenden Jahr verbessern: UI-Design und Developer Experience.

Das UI-Framework Compose Multiplatform verwendet einen deklarativen Ansatz, um Oberflächen für plattformübergreifende Projekte mit Kotlin umzusetzen. Für die JVM-Plattformen gilt es bereits seit Dezember 2021 als stabil. Die Roadmap sieht vor, dass für iOS im nächsten Jahr zumindest die Betaphase startet. Derzeit hat Compose Multiplatform für iOS Alphastatus. Außerdem will JetBrains die Render-Performance auf iOS verbessern, und die UI-Elemente sollen beim Scrollen und beim Editieren von Texten das native Verhalten von iOS zeigen.

Hinsichtlich der Developer Experience ist eine bessere Integration zwischen Kotlin und Swift-Code geplant. So soll es einen direkten Export von Kotlin nach Swift geben, für den bisher der Umweg über Objective-C erforderlich ist. Außerdem will JetBrains die Kompatibilität der Kotlin-APIs unter Swift verbessern.

Für Compose Multiplatform sind auch jenseits der iOS-Anbindung Verbesserungen geplant. Unter anderem will das Kotlin-Team alle Kern-APIs von Jetpack Compose als Multiplattformkomponenten bereitstellen. Googles Android-Framework Jetpack Compose bildet die Grundlage für Compose Multiplatform. Daneben ist die Integration der Accessibility-APIs für barrierefreie Anwendungen und eine einheitliche API zum Verwalten von Ressourcen geplant.

Die Anbindung an WebAssembly hinkt bei Compose Multiplatform sogar noch hinter iOS hinterher. Hier ist zumindest für nächstes Jahr der Start der Alphaphase geplant.

Für das Library-Ökosystem stehen ebenfalls einiges auf der To-do-Liste, darunter ein verbessertes klib-Format für Kotlin/Native-Libraries. Vorlagen und Guidelines sollen zudem das Erstellen eigener KMP-Libraries vereinfachen.

Bei den Tools steht vor allem die Anbindung an JetBrains verteilte Entwicklungsumgebung Fleet an, die sich nach wie vor in der Preview befindet. Die IDE soll für KMP unter anderem Hilfen zur Projektkonfiguration und eine Live-Preview für plattformübergreifenden Code erhalten.

Von der JVM-Sprache zur Cross-Plattform-Entwicklung

(Bild: JetBrains)

Kotlin brachte bereits 2017 die ersten Ansätze für die plattformübergreifende mit: Kotlin 1.2 ermöglichte Cross-Plattform-Projekte für die JVM und JavaScript. Die Entwicklung für iOS stand ebenfalls bereits früh auf dem Plan des Kotlin-Teams. Sie war eine Motivation für native Anwendungen ohne JVM mit Kotlin/Native, das JetBrains ebenfalls 2017 erstmals vorgestellt hat.

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.

Weitere Details zu den Plänen für Kotlin Multiplatform lassen sich dem JetBrains-Blog entnehmen.

(rme)