À quoi s'attendre dans Kotlin 1.4 qui sera publié l'année prochaine ?
le langage promet d'être encore plus rapide, performant et multiplateforme

Au cours de son discours-programme à la conférence de Kotlin, Andrey Breslav, concepteur principal de Kotlin, a parlé de la vision stratégique de Kotlin 1.4 qui sera publié l'année prochaine. « Notre vision est que Kotlin soit un compagnon fiable pour tous vos efforts, un choix par défaut pour vos tâches. Pour ce faire, nous allons le faire briller sur toutes les plateformes. De multiples études de cas d'entreprises bien connues dans l'industrie montrent que nous progressons bien dans cette direction », a-t-il déclaré.

Le moins que l'on puisse dire, c'est que Jetbrains est sur une bonne lancée pour atteindre ses objectifs. À la conférence Google I/O dédiée aux développeurs, Google, le géant de la recherche en ligne, a annoncé que le langage de programmation Kotlin est désormais son langage préféré pour les développeurs d'applications Android. En 2017, Google a reconnu Kotlin comme étant le deuxième langage officiel pour le développement d'applications Android.


Depuis lors, la communauté de développeurs autour de Kotlin continue de croître. Kotlin, le langage développé par JetBrains, s’annonce comme étant un langage de programmation pragmatique, moderne et intuitif. Il entend résoudre quelques limitations de la plateforme Java, notamment ses restrictions qui peuvent causer des problèmes avec le plan de l'API Android, sa lenteur et sa grande demande en mémoire, etc. Kotlin 1.4, qui arrivera au printemps 2020, fera un autre pas en avant pour l'écosystème de Kotlin.

Un accent sera mis sur la qualité

Kotlin 1.4 se concentrera sur la qualité et la performance. Kotlin est une langue moderne qui est déjà à l'avant-garde de nombreuses idées et approches. « Nous allons le garder moderne et en constante évolution. Pour l'instant, cependant, nous pensons que Kotlin a atteint le stade où il est plus important d'améliorer l'expérience globale que d'ajouter de grandes fonctionnalités. C'est pourquoi Kotlin 1.4 n'apportera que quelques petites modifications. Nous avons déjà réussi à obtenir des résultats impressionnants en augmentant les performances des IDE qui supportent Kotlin. La vitesse d'exécution du code a considérablement augmenté par rapport aux versions précédentes », explique Andrey.

« En collaboration avec l'équipe Gradle, nous avons rendu les scripts Gradle plus rapides. Dans Kotlin 1.3.60, Gradle Import dans Android Studio est environ 2,5 fois plus rapide et prend environ 75 % moins de mémoire que dans Kotlin 1.3.10 », ajoute-t-il.


Le chargement de build.gradle.kts implique une utilisation quasi nulle du CPU. De plus, compiler Kotlin/Native en mode dev devient jusqu'à deux fois plus rapide avec la mise en cache du code. « Nous comprenons que la vitesse de construction est souvent la plus grande préoccupation de nos utilisateurs, et nous améliorons constamment notre chaîne d'outils pour y répondre. Mais les améliorations incrémentielles ne peuvent pas suivre la croissance naturelle des bases de code de production : alors que nous rendons la compilation plus rapide, les utilisateurs écrivent plus de code, et le temps de construction global ne s'améliore pas assez. Il est devenu clair que nous devons réimplémenter le compilateur pour le rendre vraiment rapide », déclare Andrey.

Un nouveau compilateur

L'objectif de la nouvelle implémentation du compilateur est d'être vraiment rapide, d'unifier toutes les plateformes prises en charge par Kotlin et de fournir une API pour les extensions du compilateur. L'équipe de Kotlin a commencé il y a quelque temps, de sorte que certaines parties de cette nouvelle mise en œuvre arriveront à la version 1.4.

Back-end et extensibilité unifiés

Après l'analyse du code par le front-end, un back-end génère les exécutables. Il y a trois back-ends à savoir Kotlin/JVM, Kotlin/JS et Kotlin/Native. Les deux premiers étaient historiquement écrits indépendamment et ne partageaient pas beaucoup de code. Lorsque l'équipe a démarré Kotlin/Native, il était basé sur une nouvelle infrastructure construite autour d'une représentation interne pour le code Kotlin qui remplit une fonction similaire au bytecode des machines virtuelles.

Andrey annonce qu'ils sont en train de migrer les deux autres back-ends vers la même représentation interne. « Par conséquent, nous partagerons une grande partie de la logique back-end et disposerons d'un pipeline unifié, ce qui nous permettra d'effectuer la plupart des fonctions, des optimisations et des corrections de bogues une seule fois pour toutes les cibles. Nous allons progressivement migrer vers les nouveaux back-ends, et dans la version 1.4, il est peu probable qu'ils soient activés par défaut, mais les utilisateurs pourront choisir de les utiliser explicitement », précise Andrey.

Exécution de code iOS dans Android Studio

Andrey a annoncé que l'équipe travaille sur un plugin pour Android Studio qui sera capable d'exécuter, de tester et de déboguer le code Kotlin sur des appareils et simulateurs iOS. Il n'apportera pas la prise en charge du langage pour Objective-C ou Swift, et certaines opérations telles que le déploiement vers AppStore peuvent nécessiter l'exécution de Xcode, mais tout ce que vous faites avec du code Kotlin fonctionnera à partir d'Android Studio avec le nouveau plug-in installé.

Amélioration du temps d'exécution de Kotlin/Native

En dehors de Linux, Windows, macOS et iOS, Kotlin/Native fonctionne maintenant sous watchOS et tvOS, de sorte que pratiquement tous les appareils peuvent fonctionner sous Kotlin. L'équipe travaille également sur les performances d'exécution de Kotlin/Native pour rendre les programmes iOS Kotlin encore plus rapides.

Web multiplateforme

Partager du code sur plusieurs plateformes est formidable pour les clients mobiles, mais aussi pour les clients Web : beaucoup de choses peuvent être partagées avec le serveur et/ou les applications mobiles. L'équipe s'investit de plus en plus dans l'outillage Kotlin/JS, et peut maintenant faire des allers-retours de développement très rapides, du changement de code Kotlin à la visualisation des résultats dans le navigateur.


JS interop est également amélioré pour que vous puissiez désormais attacher une dépendance NPM à un projet Kotlin et que toutes les définitions de type .d.ts soient reprises automatiquement par la chaîne d'outils Kotlin. Le nouveau back-end apportera également des améliorations significatives dans les tailles binaires. Les fichiers JS compilés peuvent atteindre la moitié de leur taille actuelle.

Source : Jetbrains

Et vous ?

Qu'en pensez-vous ?
Quelles fonctionnalités souhaiteriez-vous avoir dans Kotlin 1.4 ?

Voir aussi

Kotlin 1.3.60 est disponible ! Cette version s'accompagne d'améliorations d'outils pour le débogage et apporte une préversion de certaines fonctionnalités déjà implémentées de Kotlin 1.4

Ouverture de la rubrique dédiée à Kotlin avec les meilleurs tutoriels et cours de formation gratuits

Entre Java et Kotlin, lequel de ces langages est le meilleur pour le développement d'applications Android ?

Android : Kotlin est désormais le langage préféré et recommandé par Google. Vers la fin de Java pour le développement Android ?

Kotlin gagne trois places et dépasse Scala dans le classement PYPL, l'indice qui analyse la fréquence de recherche des tutoriels sur Google

Google lance Android KTX, un ensemble d'extensions pour le développement Android avec Kotlin disponible en préversion