Kotlin 2.1 ist da: Was hat sich in der Programmiersprache geändert
JetBrains hat offiziell die stabile Version Kotlin 2.1 angekündigt. Dies ist das erste große Release seit Version 2.0, die im Mai 2024 erschienen ist. Die neue Version bringt zahlreiche Verbesserungen mit sich, die sowohl die grundlegende Syntax als auch die Infrastruktur für die plattformübergreifende Entwicklung betreffen. Wir analysieren die bedeutendsten Neuerungen.
Wichtige Änderungen in der Sprache
Die Entwickler konzentrierten sich auf die Erhöhung der Stabilität und die Erweiterung der Sprachmöglichkeiten. Die wichtigsten Neuerungen:
- Stabiler Modus für non-local break und continue. Die zuvor experimentelle Funktion für eingebettete Lambdas wurde endgültig. Nun können äußere Schleifen von innerhalb von Lambda-Ausdrücken (z.B. in
forEach) ohne zusätzliche Wrapper unterbrochen werden. Dies vereinfacht das Schreiben von sauberem Code. - Subtypes of discriminated unions (experimentell). Die Unterstützung für Untertypen von sealed-Klassen und -Schnittstellen wurde eingeführt. Nun können sealed-Schnittstellen deklariert und in Klassen vererbt werden, wobei die strenge Prüfung von when-Ausdrücken erhalten bleibt.
- Verbesserte Unterstützung für Java 21. Der Kotlin-Compiler verarbeitet nun neue Java-Konstrukte wie
record patternsundswitchmit Mustern korrekt. Dies ist besonders wichtig für Projekte, die auf neuere Java-Versionen migrieren.
Updates bei Kotlin Multiplatform
Kotlin 2.1 setzt die Entwicklung des Multiplattform-Ökosystems fort:
- Stabiles Kotlin/Wasm. Die Unterstützung für WebAssembly wurde endgültig. Nun kann Code in Wasm kompiliert und im Browser oder auf dem Server über Wasmtime ausgeführt werden.
- Schnellere Kompilierung für Kotlin/Native. Die Arbeit mit LLVM wurde optimiert. Laut JetBrains hat sich die Build-Zeit für native Projekte um 15–20% verringert.
- Neues Artefakt für Android. Die Unterstützung für das Android Gradle Plugin 8.7 wurde hinzugefügt und die Kompatibilität mit Jetpack Compose-Bibliotheken verbessert.
Änderungen in der Standardbibliothek
In der stdlib sind einige nützliche Funktionen hinzugekommen:
- Die Funktionen
buildMapundbuildSet. Nun können unveränderliche Sammlungen mit einem Builder erstellt werden, analog zubuildList. Dies macht den Code sicherer und ausdrucksstärker. - Neue Methoden für die Arbeit mit Daten.
LocalDate.daysUntilundLocalDate.monthsUntilwurden hinzugefügt. Sie vereinfachen die Berechnung der Differenz zwischen Daten ohne externe Bibliotheken. - Verbesserte Arbeit mit nullable-Typen. Die Funktion
?.letverarbeitet nun verschachtelte Aufrufe korrekt, ohne temporäre Variablen zu erstellen.
Leistung und Verbesserungen für Entwickler
JetBrains hat auch den Entwicklerwerkzeugen Aufmerksamkeit geschenkt:
- Intelligente Autovervollständigung in IntelliJ IDEA. Das Kotlin-Plugin wurde auf Version 2.1 aktualisiert. Die IDE bietet nun kontextbezogen relevantere Vorschläge zur Autovervollständigung.
- Optimierung des K2-Compilers. Die Code-Analyse und Fehlerausgabe wurden beschleunigt. Besonders auffällig ist dies bei großen Projekten mit Tausenden von Dateien.
- Neuer Leistungsinspektor. Der integrierte Analysator gibt Hinweise,