Programmiersprachen: Kotlin 1.2 vollzieht den Spagat zwischen JVM und JavaScript

Die jüngste Version der von JetBrains entwickelten Programmiersprache vereinfacht das Erstellen von Cross-Platform-Projekten zwischen JVM und JavaScript. Das Open-Source-Projekt hat zudem inzwischen zahlreiche externe Contributors.

In Pocket speichern vorlesen Druckansicht 38 Kommentare lesen
Programmiersprachen: Kotlin 1.2 vollzieht den Spagat über Plattformen
Lesezeit: 4 Min.
Von
  • Rainald Menge-Sonnentag
Inhaltsverzeichnis

Nachdem JetBrains JVM-Sprache Kotlin in Version 1.1 bereits JavaScript als zusätzliche Zielplattform neben der JVM (Java Virtual Machine) erreicht hat, bringt Version 1.2 nun Multi-Plattform-Projekte, die mit einer Codebasis die Ziele JVM im Backend und auf Android sowie JavaScript bedienen. Zur Veröffentlichung betont das Kotlin-Team, das wesentliche Teile des Codes für die inzwischen quelloffene Programmiersprache von externen Contributors stammt.

Konkret bestehen Multi-Plattform-Projekte aus einer Kombination aus einerseits einheitlichen und andererseits plattformspezifischen Modulen. Letztere sind in ihrer kompilierten Form als .class-Dateien für die JVM und .js-Dateien für JavaScript klar abgegrenzt. Die Cross-Platform-Module lassen sich in beide Formate übersetzen.

Kotlin 1.2 kombiniert plattformspezifische und gemeinsam verfügbare Module.

(Bild: JetBrains)

Ein wesentlicher Unterschied ist, dass nur die plattformspezifischen Module auf die für die jeweilige Plattform verfügbaren Libraries zugreifen können. Den übergreifenden Modulen haben die Macher eine Art Hintertür spendiert: Entwickler können sogenannte Expected Declarations spezifizieren, für die in den plattformspezifischen Modulen passende Implementierungen vorhanden sein müssen.

Das Kotlin-Team arbeitet derzeit daran, übergreifende Bibliotheken zu erstellen, um die Abhängigkeit zu den Zielplattformen zu verringern. Dazu gehören kotlin.test zum Schreiben und Ausführen von Tests auf der JVM und in JavaScript, kontlinx.html um HTML auf dieselbe Art im Frontend und Backend zu rendern und kotlinx.serialization um Kotlin-Objekte über JSON oder Protocol Buffers zu serialisieren.

Die Standardbibliothek von Kotlin ist mit dem aktuellen Release kompatibel zu den Vorgaben von Java 9. Neu ist zudem die Syntax für Array-Literale, die das Verfassen von Arrays mit eckigen Klammern als Alternative zur arrayOf-Funktion erlaubt. Außerdem gibt es eine Reflection-API, um zu überprüfen ob eine lateinit-Variable initialisiert ist. Schließlich gibt es noch einen verbesserten Umgang mit Smart Casts, die jetzt unter anderem in Lambdas erlaubt sind, sofern die Variablen nur davor verändert wurden. Die sprachlichen Feinheiten erläutert ein ausführlicher Blogbeitrag zu der im September veröffentlichten Beta von Kotlin.

Hinsichtlich der Codeverarbeitung hat das Team den Kompiliervorgang optimiert. Es spricht von einer Performanceverbesserung von etwa 25 Prozent gegenüber Kotlin 1.1. Die Entwickler sehen darüber hinaus Potenzial, mit dem sie die Geschwindigkeit des Compilers für kommende 1.2.x-Releases weiter verbessern möchten.

Kotlin ist eine objektorientierte, statisch typisierte Programmiersprache aus dem Haus des Toolherstellers JetBrains, die ursprünglich hauptsächlich von einem Team in Sankt Petersburg entwickelt wurde und ihren Namen von einer Insel westlich der russischen Stadt hat. Inzwischen ist Kotlin Open Source. Sie ist kompatibel zu Java und setzt wie Scala, Clojure und Ceylon auf die JVM auf (Java Virtual Machine). Als Vorzüge nennen die Macher eine bessere Performance und Sicherheit sowie eine gut lesbare Syntax. Im Mai erklärte Google Kotlin neben Java zur offiziellen Programmiersprache für Android.

Weitere Details zu Kotlin 1.2 lassen sich dem Blogbeitrag entnehmen. Die Programmiersprache bleibt erwartungsgemäß rückwärtskompatibel zu Version 1.0 und 1.1. Der aktuelle Kommandozeilen-Compiler ist im GitHub-Repository verfügbar. Bei den Entwicklungsumgebungen hat IntelliJ IDEA 2017.3, das vermutlich innerhalb der nächsten Woche erscheint, nachdem JetBrains vor kurzem den Release Candidate veröffentlicht hatte, Kotlin 1.2 bereits an Bord. In Eclipse lässt sich das aktuelle Release über den Marketplace installieren, und in Android Studio 3.0 ist es über den Plug-in-Manager verfügbar. Eine Anleitung zum Installieren der aktuellen Kotlin-Version über Maven/Gradle ist im Blogbeitrag zu finden.

Siehe dazu auch:

(rme)