Désormais disponible en version de production, la mise à jour du langage JVM Kotlin 1.4, alternative au Java de JetBrains, offre un IDE amélioré et un compilateur plus rapide. En particulier, l’IDE inclut un débogueur de coroutine appelé Coroutine Debugger et un assistant de projet appelé Kotlin Project Wizard, qui permet de créer des projets Kotlin de différents types. L’IDE a également bénéficié de 40 correctifs rapides, s’enrichit d’intentions et d’inspections. Enfin, grâce des ajustements de performance de l’IDE, les suggestions d'auto-complétion et la mise en évidence du contenu dans les gros fichiers Kotlin sont plus rapides.

Quant au nouveau compilateur de Kotlin 1.4, il comporte un algorithme d'inférence de type plus puissant activé par défaut. Cette version comporte également de nouveaux backends JVM et JavaScript, actuellement en mode Alpha. Une structure de projet hiérarchique permet aussi le partage de code entre un sous-ensemble de cibles, par exemple, des cibles similaires liées à iOS pour les appareils iOS ARM64. En outre, les développeurs peuvent utiliser des bibliothèques dépendantes de la plate-forme à partir d'un code commun partagé entre plusieurs cibles natives.

Statiquement typé, le langage Kotlin est positionné pour la JVM, le développement Android et le navigateur. Depuis mai 2017, Kotlin a été qualifié par Google pour le développement d'applications mobiles Android.

Des fonctionnalités supplémentaires

Parmi les autres fonctionnalités de Kotlin 1.4 on peut citer :

- Conversions SAM (single abstract method) pour les interfaces Kotlin.

- Un mode d’API explicite pour les auteurs de bibliothèques.

- Un mélange d'arguments nommés et positionnels.

- Virgule de fin.

- Améliorations des références appelables.

- Annotations de type expérimental.

- Utilisation de break et continue à l'intérieur de when dans les boucles.

- Améliorations de la bibliothèque standard, dont l’apparition de nouveaux opérateurs de collection, des améliorations des propriétés déléguées et d'autres capacités, notamment l’implémentation des files d'attente à double extrémité ArrayDeque.

- Évolution progressive de kotlinx.coroutines en fonction des feedbacks des utilisateurs.

- La bibliothèque de sérialisation se rapproche de la maturité avec la sortie de la version 1.0.0-RC de kotlin.serialization.

- Introduction d’une version expérimentale de la bibliothèque kotlinx-datetime et d’une preview de l'API DateTime.

- La cible JavaScript pour Kotlin s’enrichit d’un nouveau DSL Gradle et d’une version alpha du nouveau backend du compilateur d’IR Kotlin/JS.

- Amélioration des performances globales de la compilation et de l'exécution de Kotlin/Native.

- Amélioration de l’interopérabilité entre Kotlin/Native et Swift/Objective-C.

- Gestion simplifiée des dépendances des CocoaPods.

Les instructions pour démarrer avec Kotlin sont disponibles sur kotlinlang.org.