Kotlin 1.2.70 hat erneut Multiplattformprojekte im Blick

JetBrains führt in der neuen Kotlin-Version einige Annotations ein, die die Arbeit bei Multiplattformprojekten weiter verbessern sollen.

 –  0 Kommentare
Kotlin 1.2.70 hat erneut Multiplattformprojekte im Blick

JetBrains hat Version 1.2.70 der hauseigenen Programmiersprache Kotlin veröffentlicht. Im Fokus stehen erneut Verbesserungen für Multiplattformprojekte. Außerdem hat der Tool-Hersteller an der inkrementellen Kompilierung für Kotlin/JS geschraubt und eine native, systemabhängige Version des Kotlin-Compilers zur Verfügung gestellt.

Bereits die Vorgängerversion hatte Multiplattformprojekte im Blick. Dort hatten die Macher mit @OptionalExpectation eine neue Annotation eingefügt, die den Einsatz der Kombination aus expect annotation class und der späteren Implementierung über actual vereinfacht: Fehlt in plattformübergreifendem Code letztere für eine Zielplattform, ignoriert der Compiler die Annotation. Dadurch können Entwickler JVM-spezifische Annotationen wie @JvmName im Code verwenden, ohne dass es zu Problemen führt. In Kotlin 1.2.70 hat JetBrains die kotlin-stdlib-common um weitere Annotationen ergänzt: @JsName, @JvmOverloads, @JvmStatic, @JvmName, @JvmMultifileClass, @JvmField, @JvmSuppressWildcards, @JvmWildcard, @Volatile, @Transient, @Strictfp, und @Synchronized.

Darüber hinaus hat sich das inkrementelle Kompilieren für Kotlin/JS verbessert. JetBrains spricht davon, dass – je nach Projektstruktur – Builds bis zu siebenmal schneller ablaufen können. Außerdem unterstützen Gradle-Builds von Kotlin/JS jetzt ein modulübergreifendes inkrementelles Kompilieren. Das Feature ist allerdings noch in einem experimentellen Status.

Zusätzlich zur bisherigen JVM-Version des eigenständigen Kotlin-Compilers beinhalten die GitHub-Releases jetzt auch eine native, systemabhängige Version. Sie ist für Linux, macOS und Windows verfügbar und setzt auf dem Excelsior-JET-AOT-Compiler auf und soll schnellere Startzeiten ermöglichen, was besonders für kleinere Dateien und Skripte relevant sein kann.

Der Kotlin-Blog listet alle Änderungen im Detail auf. Alle IntelliJ IDEA Versionen ab 2017.3 unterstützen die neue Version bereits, ebenso Android Studio 3.1, 3.2 RC und 3.3 Canary. (bbo)