Kotlin/Native 0.6 zielt auf erste Embedded-Plattform

Plattformen mit STM32-Mikrocontrollern ergänzen iOS und Android als Ziel für Kotlin/Native. Außerdem lässt sich die native Implementierung von JetBrains Programmiersprache nun in Multi-Plattform-Projekte einbinden.

In Pocket speichern vorlesen Druckansicht
Kotlin/Native zielt auf erste Embedded-Plattform
Lesezeit: 3 Min.
Von
  • Rainald Menge-Sonnentag

Der Toolhersteller JetBrains hat Kotlin/Native in Version 0.6 veröffentlicht. Auch wenn die native Implementierung der Programmiersprache damit nach wie vor noch nicht auf 1.x-Niveau ist, bringt das Release wichtige Ergänzung sowohl hinsichtlich der Zielplattformen als auch bezüglich des Zusammenspiels mit Kotlin-Programmen für die Java Virtual Machine (JVM) und JavaScript.

Neuerdings lässt sich Kotlin/Native als Ziel für die in Kotlin 1.2 eingeführten Multi-Plattform-Projekte einbinden. Auf GitHub findet sich dafür das Beispielprojekt KotlinMultiplatformPlayground, das Entwicklern den Einstieg in plattformübergreifende Projekte für unterschiedliche Zielplattformen erleichtern soll. Mit Multi-Plattform-Projekten können Entwickler einheitlichen Code in Kotlin schreiben und für die jeweils gewählten Ziele kompilieren.

Umgekehrt gibt es zudem Neuerungen hinsichtlich der Zielplattformen von Kotlin/Native: Die bisherigen Implementierungen zielten nur auf die mobilen Betriebssysteme iOS und Android. Mit Version 0.6 kommt die erste Embedded-Plattform hinzu: Das Kompilieren für STM32-Mikroprozessoren ist derzeit noch als experimentell gekennzeichnet und zielt auf das Echtzeitbetriebssystem Zepyhr Project.

Für iOS lassen sich neuerdings Collections transparent übergreifend verwenden, sodass ein nahtloses Zusammenspiel zwischen den Kotlin-Implementierungen List, MutableList, Set, MutableSet, Map sowie MutableMap und den Gegenstücken in Swift beziehungsweise Objective-C, also NSList, NSMutableList, NSSet, NSMutableSet, NSDictionary und NSMutableDictionary möglich ist.

Kotlin/Native ist eine native Implementierung der ursprünglich für die JVM entwickelten Programmiersprache. Anders als beispielsweise bei Java-Code spielt für die native Umsetzung nicht die Performance die wichtigste Rolle, sondern ausgerechnet die Cross-Platform-Unterstützung, die sonst das Argument für Bytecode und gegen native Binaries ist.

Die JVM ist jedoch nicht auf allen Plattformen selbstverständlich vorhanden. Hinsichtlich der Zielplattformen für Kotlin/Native hob JetBrains bei der ersten Vorstellung auf der KotlinConf 2017 iOS heraus. Während der Weg zu Android üblicherweise über die ohnehin vorhandene JVM geht, können Entwickler auf Apples Mobilplattform keine JVM voraussetzen. Dasselbe gilt für zahlreiche Embedded Devices, die trotz der erst jetzt gestarteten Implementierung seit Anbeginn als Zielplattformen für Kotlin/Native vorgesehen sind.

Weitere Details zu Kotlin/Native 0.6 lassen sich dem Kotlin-Blog entnehmen. Der Beitrag bietet Links zu Binaries für Linux, Windows und macOS. Der Sourcecode ist auf GitHub zu finden. Darüber hinaus haben die Macher das CLion-Plug-in für das kommende Release 2018.1 vorbereitet. Allerdings müssen Entwickler es neu installieren, da ein automatisches Update nicht möglich ist. (rme)