JetBrains a annoncé ce matin la disponibilité de la version 1.3.30 de son langage de programmation Kotlin. Elle apporte notamment un lot d’améliorations, de correctifs de sécurité et une mise à jour des outils pour Kotlin 1.3. JetBrains a expliqué que les principaux domaines d’intervention de cette version concernent Kotlin/Native, les performances KAPT, ainsi que les améliorations apportées à IntelliJ IDEA. La version 1.3 du langage a été publiée en novembre 2018 soit environ un an après la sortie de la version 1.2. Les principales nouveautés dans sa version 1.3 regroupaient les coroutines, Kotlin/Native Beta et les projets multiplateformes.
Il y a eu également d’autres améliorations comme la prise en charge expérimentale des classes inline pour les performances et la sécurité du typage, la prise en charge expérimentale des entiers non signés pour faciliter la manipulation des octets et autres codes de bas niveau, un débogueur de séquence pour visualiser les évaluations retardées, des améliorations des fichiers temporaires de REPL et de la création de scripts pour travailler de façon fluide avec des scripts et des extraits de code, la compilation incrémentale et expérimentale pour Kotlin/JS, etc. Cette version-ci est plus considérée comme un correctif de bogues et une mise à jour des outils de la version 1.3 par JetBrains. Ainsi, des corrections ont été apportées au KAPT pour améliorer ses performances, ainsi qu’à Kotlin/Native. Cependant, JetBrains a ajouté environ trois nouvelles fonctionnalités pour autoriser une visibilité plus permissive pour les déclarations réelles non virtuelles, mais aussi un nouveau support pour les annotations de la plateforme Android.
Avec ce correctif, KAPT prend désormais en charge les processeurs d'annotation incrémentielle en mode expérimental. Pour l'essayer, ajoutez le paramètre kapt.incremental.apt = true au fichier gradle.properties. Notez que dans l'implémentation actuelle, l'utilisation de tout processeur d'annotation non incrémentiel ou une modification de l'ABI de la dépendance (jusqu'à présent, y compris la modification de déclarations internes) entraînera un traitement d'annotation non incrémentiel pour un module donné. JetBrains a expliqué que le travail était toujours en cours et qu'il sera amélioré dans les prochaines versions, mais vous pouvez l'essayer dès maintenant et partager vos commentaires.
Pour Kotlin/Native, JetBrains annonce que la liste des cibles Kotlin/Native prises en charge a été élargie. Cette version prend en charge la cible Windows 32 bits (mingw_x86). En plus de cela, les utilisateurs Windows et Mac OS peuvent compiler leurs programmes Kotlin/Native de manière croisée avec Linux x86-64, ARM 32, ainsi qu'avec des périphériques Android et Raspberry PI. Du côté du compilateur, JetBrains a ajouté des correctifs à un comportement non défini lors du calcul du reste d'une division par 0, ce qui génère maintenant une exception. Des problèmes liés à l'alignement ont également été corrigés pour les plateformes ARM 32 et MIPS.
Par la suite, JetBrains propose désormais la prise en charge de Kotlin/Native dans deux autres de ses EDI en plus d’Intellij IDEA. « ;Outre IntelliJ IDEA, nous proposerons un plugin Kotlin/Native pour CLion 2019.1, ainsi qu’AppCode 2019.1. Les fichiers de définition C interop (.def) seront également pris en charge par tous les EDI, bien que nous ne fournissions pas actuellement de complétion de code », a expliqué JetBrains dans sa note de publication pour ce correctif. Pour CLion et AppCode, JetBrains a également ajouté la navigation des backtraces au code source, ainsi que des améliorations dans la prise en charge du débogueur. JetBrains a amélioré le débogage au sein de l’EDI Intellij IDEA afin de faciliter en particulier le débogage des coroutines.
Lorsque vous déboguez du code de coroutine, vous voyez maintenant une trace d’appels asynchrone « stacktrace async » distincte affichant les variables stockées au moment de la suspension. Lorsque vous vous arrêtez sur un point d'arrêt à l'intérieur d'une fonction de suspension ou de lambda, la trace d’appels indique également l'état des variables au dernier point de suspension. Vous pouvez parcourir l’ensemble du stacktrace des fonctions de suspension en commençant par le dernier point de suspension de la coroutine actuelle et vérifier les valeurs stockées par les variables.
Cela devrait vous aider à comprendre comment vous êtes arrivé au point d'exécution actuel. Lors du débogage du code Kotlin, vous pouvez maintenant choisir le mode « Kotlin » pour observer les valeurs des variables. Après avoir cliqué sur l'icône Kotlin, vous voyez les variables par noms Kotlin, et non par noms auxiliaires de machines virtuelles Java comme auparavant. Autre chose, le mode interactif pour les fichiers de travail a été revu. Comme vous le savez, dans Kotlin, vous pouvez effectuer de petites expériences avec votre base de code en utilisant des fichiers de travail. Vous pouvez maintenant utiliser le mode interactif qui affiche les résultats à la volée (après un délai donné), sans avoir à exécuter à nouveau explicitement le script.
Une dernière amélioration majeure qu’on peut noter dans cette version est la mise à jour du plugin Kotlin pour l’EDI Eclipse. La nouvelle version 0.8.14 du plug-in pour l'EDI Eclipse apporte un support pour le compilateur Kotlin 1.3.30, de nombreuses autres corrections de bugs et des améliorations de la stabilité globale. Cette mise à jour introduit également un support expérimental pour les projets Gradle. Vous pouvez maintenant importer vos projets avec Eclipse Buildship, puis les trouver dans votre espace de travail Eclipse avec la configuration correcte du plug-in Kotlin.
Sources : JetBrains, GitHub
Et vous ?
Que pensez-vous de ces améliorations apportées dans cette version de Kotlin
Voir aussi
Kotlin 1.3 est disponible : Coroutines désormais stables, Kotlin/Native Beta, bibliothèques multiplateformes et bien plus encore
Kotlin 1.2 est disponible : cette nouvelle version permet de partager le code entre la JVM et JavaScript et améliore de 25 % les temps de compilation
La version 1.3.30 de Kotlin est disponible
Avec des améliorations pour KAPT et Kotlin/Native et quelques corrections de bogues
La version 1.3.30 de Kotlin est disponible
Avec des améliorations pour KAPT et Kotlin/Native et quelques corrections de bogues
Le , par Bill Fassinou
Une erreur dans cette actualité ? Signalez-nous-la !