"Kotlin Multiplatform Mobile" zum Entwickeln für Android und iOS erreicht Beta

Das SDK zum Erstellen plattformübergreifender Anwendungen für Android und iOS geht in die Betaphase, und Google bringt erste Multiplattform-Jetpack-Libraries.

In Pocket speichern vorlesen Druckansicht

(Bild: Tada Images/Shutterstock.com)

Lesezeit: 3 Min.

Gut ein Jahr nach der ersten Vorstellung von Kotlin Multiplatform Mobile (KMM) hat JetBrains nun die Betaphase eingeläutet. Das Software Development Kit zielt auf die plattformübergreifende Entwicklung für Android und iOS. Dabei ist jedoch nur die Businesslogik als gemeinsame Codebasis angelegt, nicht die Oberfläche und andere plattformspezifische Bereiche der Apps.

Mit dem Start der Betaphase erklärt JetBrains das SDK als reif für den Einsatz in Projekten. Bis zum stabilen Stand soll sich so wenig wie möglich ändern, um den Migrationsaufwand gering zu halten. Einen festen Zeitpunkt für die allgemeine Verfügbarkeit hat JetBrains allerdings noch nicht genannt.

Im September 2021 hat JetBrains KMM erstmals vorgestellt und gleichzeitig ein Preview-Plug-in für Android Studio veröffentlicht. Die Entwicklungsumgebung für Android-Apps, die auf IntelliJ IDEA von JetBrains aufbaut, ist die Basis für das Entwickeln von Projekten mit Kotlin Multiplatform Mobile.

Erste Ansätze zur Multiplattformentwicklung kennt Kotlin bereits seit Version 1.2, wobei die Sprache zunächst die Brücke zwischen der Java Virtual Machine (JVM) und JavaScript geschlagen hatte. Mit Kotlin/Native kam schließlich eine Methode hinzu, Programme in plattformspezifische Binaries zu übersetzen. Eine wichtige Motivation dafür war von Anbeginn das Schreiben von Kotlin-Anwendungen für die iOS-Plattform, die keine JVM mitbringt.

KMM kombiniert eine gemeinsame Codebasis mit nativer UI-Entwicklung.

(Bild: JetBrains)

Kotlin Multiplatfom Mobile ist ein SDK, das die plattformübergreifende mit der nativen Softwareentwicklung verbindet. Die Businesslogik wie das Speichern und Verwalten von Daten oder auch die Netzwerkanbindung liegen in einer gemeinsamen Codebasis. Die Entwicklung der UI erfolgt dagegen nativ.

Ein KMM-Projekt besteht insgesamt aus vier Komponenten: dem Root Project als Container, der selbst keinen Code enthält, der gemeinsamen Codebasis im Shared Module sowie der Android- und der iOS-App. Der geteilte Code ist ein Kotlin-Multiplatform-Modul. Für Android ist es gemeinsam mit der Android-App als Gradle Multi-Project Build umgesetzt. Die iOS-App entsteht in Xcode unter macOS, und das Projekt bindet die geteilte Codebasis als externes Artefakt ein.

Das Root-Projekt enthält sowohl das gemeinsame Modul als auch die plattformspezifischen Apps.

(Bild: JetBrains)

Eine wesentliche Voraussetzung für die reibungslose Umsetzung von KMM bringt die Programmiersprache in der aktuellen Version Kotlin 1.7.20 mit, die den in Version 1.7 eingeführten neuen Memory Manager für Kotlin/Native-Anwendungen standardmäßig aktiviert hat, auch wenn er nach wie vor als Beta gekennzeichnet ist. Er bringt unter anderem Vorteile für die nebenläufige Programmierung, indem er Einschränkungen beim Teilen von Objekten zwischen Threads beseitigt.

Passend zum Start der Beta hat Google erste Libraries in Android Jetpack auf den Einsatz in Multiplattformprojekten vorbereitet. Zunächst sind Multiplattformvarianten von Collection und DataStore verfügbar, die beide als experimentelle Preview gekennzeichnet sind. Letzteres Modul speichert Schlüssel-Werte-Paare und setzt auf Protocol Buffers. Es ist mit Koroutinen auf die asynchrone, konsistente Datenspeicherung ausgelegt.

Während DataStore komplett in Kotlin umgesetzt ist und Android-APIs verwendet, ist Collection in Java geschrieben. Es bietet schlanke Umsetzungen von Java-Collection-APIs, die auf Speichereffizienz statt Performance getrimmt sind.

Empfohlener redaktioneller Inhalt

Mit Ihrer Zustimmmung wird hier ein externes YouTube-Video (Google Ireland Limited) geladen.

Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden. Damit können personenbezogene Daten an Drittplattformen (Google Ireland Limited) übermittelt werden. Mehr dazu in unserer Datenschutzerklärung.

Weitere Details zum Start der Beta von Kotlin Multiplatform Mobile lassen sich dem JetBrains-Blog entnehmen. Zusätzliche Informationen zur Umsetzung der Jetpack-Libraries finden sich im Android-Developer-Blog.

(rme)