Kotlin lernt WebAssembly – jetzt aber wirklich

Die Programmiersprache Kotlin startet die Alphaphase für die Anbindung von WebAssembly als Zielplattform bei der Cross-Plattform-Entwicklung.

In Pocket speichern vorlesen Druckansicht 3 Kommentare lesen

(Bild: Andrey Suslov/Shutterstock.com)

Lesezeit: 2 Min.
Inhaltsverzeichnis

Gut einen Monat nach der ersten stabilen Variante von Kotlin Multiplatform geht JetBrains nun die Zielplattform WebAssembly an. Kotlin/Wasm hat nun Alpha-Status, nachdem die Anbindung bisher noch als experimentell gekennzeichnet war.

Mit dem Alpha-Release gilt Kotlin für WebAssembly laut der Ankündigung im Kotlin-Blog zwar noch nicht als reif für den Produktivbetrieb, aber für Pre-Production-Szenarien. Noch gibt es wohl zahlreiche offene Baustellen.

Kotlin Multiplatform (KMP), das seit dem Release von Kotlin 1.9.20 im November als stabil gilt, ermöglicht es, Anwendungen für Android, iOS, Windows, macOS, Linux sowie den Browser mit einer gemeinsamen Codebasis zu erstellen.

JetBrains setzt für KMP auf eine Mischung aus Cross-Plattform-Code und nativen Abschnitten. Auf diese Weise können Entwicklungsteams beispielsweise die Business-Logik in einer gemeinsamen Codebasis verwalten, aber die UIs nativ für die jeweiligen Systeme umsetzen.

Erste Ansätze zur plattformübergreifenden Programmierung brachte das ursprünglich als JVM-Sprache (Java Virtual Machine) gestartete Kotlin bereits 2017, seinerzeit mit Cross-Plattform-Projekten für die JVM und mit Kotlin/JS für JavaScript im Browser. Kurz darauf folgte Kotlin/Native, das ohne virtuelle Maschine läuft und zunächst vor allem auf iOS ausgelegt war, das keine JVM mitbringt.

Die experimentelle Anbindung an WebAssembly begann im April 2023 mit Kotlin 1.8.20, das Kotlin/Wasm als Build-Ziel eingeführt hat. Zuvor war es zwar möglich, Kotlin nach WebAssembly zu kompilieren, aber nur über Kotlin/Native mit dem Target wasm32.

Die Kotlin-Dokumentation enthält Tutorials und Beispiele, die den Einstieg in WebAssembly-Anwendungen erleichtern sollen.

Die Dokumentation bietet einige Beispielanwendungen für Kotlin/Wasm.

(Bild: JetBrains)

Auch der interaktive Kotlin-Playground ermöglicht das Erstellen von WebAssembly-Anwendungen mit Kotlin.

Über das Dropdown-Menü lässt sich Wasm als Zielplattform im Kotlin Playground auswählen.

(Bild: Screenshot von play.kotl.in)

Kotlin/Wasm ist zwar nicht an ein UI-Framework gebunden, aber es bildet die Grundlage für die Webvariante des deklarativen UI-Frameworks Compose Multiplatform. Bei dem 2021 vorgestellten Toolkit handelt es sich um eine Erweiterung des Android-UI-Toolkits Jetpack Compose.

Weitere Details zu Kotlin für WebAssembly lassen sich dem Kotlin-Blog entnehmen, der auch Benchmarks mit einem Vergleich von Kotlin/JS, Kotlin/Wasm und Kotlin für die JVM aufzeigt.

(rme)