/Programmiersprachen: Kotlin/Native nimmt Gestalt an

Programmiersprachen: Kotlin/Native nimmt Gestalt an

Kotlin/Native nimmt Gestalt an

Nachdem JetBrains auf der KotlinConf das Konzept nativer Anwendungen mit Kotlin vorgestellt hatte, die keine virtuelle Maschine benötigen, hat der Toolhersteller nun unter anderem die Integration in die eigenen Werkzeuge vorgestellt.

Auf der KotlinConf in San Francisco hat JetBrains mit Kotlin/Native eine Methode vorgestellt, mit der Programmiersprache erstellte Programme in plattformspezifische Binaries zu übersetzen. Damit ist zum Ausführen des Programms keine virtuelle Maschine nötig. Nun konkretisiert der Toolhersteller die Pläne und die Anbindung an die eigenen Entwicklerwerkzeuge. So wird es zunächst ein Plug-in für CLion geben, JetBrains Entwicklungsumgebung für C und C++.

Üblicherweise ist die Kotlin-Entwicklung eng mit IntelliJ IDEA verbunden, der Entwicklungsumgebung, die vor allem, aber inzwischen längst nicht mehr ausschließlich, auf das Schreiben von Java-Code ausgelegt ist. Kotlin ist eine JVM-Sprache (Java Virtual Machine) und aus JetBrains Erfahrungen mit Java entstanden. Wenn der Code auf der JVM läuft, können Entwickler ihn mit IntelliJ IDEA debuggen. Bei Kotlin/Native erzeugt die Toolchain dagegen Binaries für die jeweilige Zielplattform und verwendet dabei ein LLVM-basiertes Backend in Kombination mit nativen Implementierungen der Kotlin-Laufzeitbibliothek.

Das CLion-Plug-in baut auf der Kotlin-Erweiterung für IntelliJ IDEA auf. Es bietet somit dieselben Hilfsfunktionen wie Autovervollständigung, Code Inspection und Refactoring. Native Kotlin-Programme lassen sich mit LLDB debuggen, der sich in CLion auch für C- und C++-Code verwenden lässt. Allerdings befindet sich die Funktionsweise in einer frühen Entwicklungsphase, sodass für das erfolgreiche Debuggen laut dem Blogbeitrag “spezielle Voraussetzungen (und ein bisschen Glück)” erforderlich sind.


CLion ermöglicht das Debuggen von nativem Kotlin-Code.

CLion ermöglicht das Debuggen von nativem Kotlin-Code.

(Bild: JetBrains
)

Das CLion-Plug-in ermöglicht auch das Durchführen von mit dem kotlin.test-Framework erstellten Tests. Dafür müssen Entwickler derzeit noch unter Run | Edit Configurations… manuell eine Konfiguration für Kotlin/Native Test erstellen. Aktuell fehlt im Plug-in noch das engere Zusammenspiel mit nativen Bibliotheken. JetBrains plant mittelfristig eine entsprechende Anbindung inklusive der Navigation über die Grenzen der Programmiersprachen hinweg, um das Zusammenspiel zwischen Kotlin- und C/C++-Code zu verbessern.

Ein Blick auf die Vorstellung von Kotlin/Native zeigt einen interessanten Unterschied zu anderen nativen Ansätzen. Anders als beispielsweise bei Java oder Android spielt 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 Vorstellung auf der KotlinConf 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. Ein grundsätzliches Anwendungsfeld für Kotlin/Native sind Applikationen, die unabhängig von der Außenwelt bleiben sollen.

Kotlin/Native ist derzeit für Windows, Linux, macOS, iOS, Android und WebAssembly verfügbar, wobei es aktuell noch einige Einschränkungen bezüglich der Hardware gibt. Details lassen sich der Übersichtsseite entnehmen. Weitere Informationen zum CLion-Plug-in stehen im Blogbeitrag, der sich jedoch über die Lizenzbedingungen ausschweigt. Zu CLion existiert im Gegensatz zu IntelliJ IDEA keine kostenlose Community Edition. Auch ob Nutzer der kommerziellen IntelliJ-IDEA-Variante Sonderkonditionen für die Nutzung von CLion erhalten, lässt sich dem Blog nicht entnehmen.


(rme)