News

Sept points clés de la feuille de route de Kotlin pour fin 2021

Read this post in other languages:

Kotlin est conçu pour traduire des idées en code. Nous essayons d’éliminer tous les obstacles qui se mettent sur la route de vos idées et de rendre l’écriture et la lecture de Kotlin simples et agréables. Pour ce faire, nous avons besoin d’un système d’ingénierie très complexe, qui comprend : la syntaxe du langage, le frontend et backend du compilateur, l’IDE, les outils de build, les bibliothèques et tous les autres outils. La maintenance et développement de tous ces composants mobilise 110 personnes. Tous travaillent de manière simultanée sur les différents projets et tâches.

Pour ne rien manquer de ces projets, vous pouvez consulter la feuille de route publique de Kotlin. Nous venons de la mettre à jour pour y inclure nos projets pour Kotlin 1.7.0 et ses versions ultérieures ! Si vous voulez juste consulter un aperçu rapide des projets sur lesquels nous travaillons sans rentrer dans les détails, lisez cet article de blog, qui présente sept points clés de notre feuille de route.

Et pour ceux qui ne veulent pas lire, nous avons préparé une vidéo sur ces points clés !

1. Le frontend du compilateur K2 va passer en phase Alpha

Le compilateur est le cœur de Kotlin. Il s’agit du moteur du langage, qui régit tous les aspects de la création d’une application, notamment la réactivité de l’IDE, la vitesse de build, la taille des binaires et l’efficacité. C’est pourquoi nous investissons activement dans le compilateur Kotlin, notamment en développant le nouveau compilateur K2.

Notre équipe travaille actuellement à faire passer le frontend du compilateur K2 au stade Alpha. Le frontend est la partie du compilateur qui est responsable de l’analyse du code et de sa transformation en une représentation intermédiaire, qui est ensuite traitée par les backends. Le nouveau compilateur montre déjà d’excellents résultats ! Il est capable de compiler d’énormes projets de production JVM, tels que Kotlin lui-même et IntelliJ IDEA. Pour ces projets, la vitesse de compilation est en moyenne deux fois plus rapide.

Nous allons continuer à le stabiliser en compilant plus de projets et en résolvant les bugs et problèmes de performance. L’objectif est de publier la version public preview du compilateur K2/JVM d’ici le printemps 2022. La version Alpha offrira un aperçu de l’infrastructure du nouveau plugin, qui permettra à la communauté de construire plus d’outils.

Nous investissons également dans la prise en charge des backends non-JVM, ce qui permettra de concevoir des projets multiplateforme dans le compilateur K2.

Consultez les tickets de la feuille de route :

2. Focus sur la stabilité et la robustesse pour KMM

KMM passera en Bêta au printemps 2022 ! Nous nous concentrons donc maintenant sur la détection et la correction du plus grand nombre possible de problèmes affectant les workflows des utilisateurs. Cela inclut la mise en évidence du code, la navigation, la saisie semi-automatique, le débogage et la stabilité des outils de build.

Nous continuons également d’améliorer l’expérience pour le développement multiplateforme. Nous venons de lancer un gestionnaire de mémoire Kotlin/Native expérimental. Il atténue les différences entre la JVM et les plateformes natives et vous permet d’écrire plus facilement du code partagé et concomitant pour les plateformes iOS et Android. Nous prévoyons aussi d’améliorer la stabilité et les performances afin de faciliter la future migration vers le nouveau gestionnaire de mémoire.

Consultez les tickets de la feuille de route :

Kotlin évolue vite ! Consultez notre feuille de route publique pour avoir une vue complète de toutes les fonctionnalités sur lesquelles nous travaillons en ce moment !

3. Recherche d’espaces de nom et prototypage

Avec Kotlin, on ne peut avoir une extension de classe que si la classe correspondante déclare un objet compagnon. Cela entraîne des conséquences indésirables, comme l’impossibilité d’étendre de nombreuses classes de bibliothèques tierces et un manque d’efficacité lors de la déclaration des membres statiques privés des classes.

Nous prévoyons de réaliser le prototype d’une solution basée sur l’introduction du nouveau concept d’espace de nom : une sorte d’objet éphémère sans instance que chaque classe possède automatiquement. Les membres d’espaces de noms sont naturellement compilés en tant que membres statiques sur la JVM. Cela permet de garder les assistants statiques regroupés dans la source et de supprimer toute la surcharge de l’objet. L’objectif est d’améliorer l’interopérabilité de Kotlin avec les méthodes statiques de Java et de permettre des extensions sur tous les types Java. Ces évolutions devraient favoriser l’adoption de Kotlin/JVM.

Consultez les tickets de la feuille de route :

4. Kover, un outil de couverture de test pour Kotlin

Nous pensons qu’il est essentiel pour la croissance de notre écosystème de disposer d’une solution robuste et spécifique à Kotlin qui permette de collecter la couverture de test des applications et des bibliothèques Kotlin. C’est pourquoi nous avons lancé Kover, un plugin Gradle qui mesure la couverture de code pour le code Kotlin et fonctionne avec toutes les constructions du langage, y compris les fonctions inline.

Parmi nos projets à long terme figurent le DSL pour les règles de vérification, la stabilisation de l’utilisation de JaCoCo, le filtrage avancé et la prise en charge avancée d’Android. Nous prévoyons de développer Kover en fonction de vos retours, alors essayez-le et faites-nous part de vos commentaires !

Consultez les tickets de la feuille de route :

5. Dokka, un outil repensé pour générer de la documentation de bibliothèque

Nous travaillons également sur Dokka, un outil de génération de documentation destiné aux développeurs de bibliothèques. Nous le faisons passer en Bêta avec la version 1.6.0, avec un focus sur l’ergonomie et sur l’unification du design avec la documentation officielle de Kotlin. Nous voulons que les développeurs bénéficient d’une expérience fluide et agréables lorsqu’ils travaillent avec la documentation Kotlin, qu’il s’agisse de la référence officielle du langage ou de documentation de bibliothèque. L’utilisation d’un style visuel et d’une structure uniformes permet d’atténuer les conséquences des changements de contexte.

La prochaine étape est de faire passer Dokka en version stable avec un seul format de sortie : HTML. Les autres formats de sortie tels que GitHub Markdown ou Jekyll, l’API pour les développeurs de plugins et la prise en charge intégrale de Java resteront en Alpha. Pour les faire évoluer nous réaliserons une série d’entretiens et prendrons en compte vos commentaires !

Consultez les tickets de la feuille de route :

Conseil : vous voulez participer aux études sur l’expérience utilisateur ? Inscrivez-vous !

6. Améliorer l’adoption du plugin d’IDE Kotlin

La migration du plugin d’IDE Kotlin vers l’infrastructure de développement de la plateforme IntelliJ a été une tâche d’ingénierie complexe qui nous a permis de prendre en charge la nouvelle fonctionnalité de l’outil en même temps que la plateforme IntelliJ. Elle présente cependant quelques inconvénients. Par exemple, si vous participez au programme d’accès anticipé (EAP), vous avez peut-être remarqué que les versions EAP d’IntelliJ IDEA ne prennent pas en charge les versions préliminaires des prochaines versions de Kotlin. Nous prévoyons de régler ceci et d’autres problèmes avec l’adoption de la version du plugin Kotlin IDE en améliorant notre infrastructure interne.

Consultez les tickets de la feuille de route :

7. Améliorations de Playground

Avez-vous déjà voulu montrer à des amis ou collègues une toute nouvelle fonctionnalité de Kotlin et réalisé que vous n’aviez pas votre PC portable ? Pour cette situation et beaucoup d’autres, comme apprendre le langage, réaliser un prototype et partager des connaissances, nous avons Kotlin Playground. Kotlin Playground étant devenu très populaire, nous souhaitons vous offrir encore plus de possiblités !

Pour les nouveaux utilisateurs, nous prévoyons de simplifier l’expérience en proposant davantage d’exemples et d’astuces. Pour les utilisateurs expérimentés, nous voulons notamment permettre de synchroniser la progression entre différents appareils, d’ouvrir plusieurs onglets et d’exporter des fichiers. Nous allons aussi rendre Kotlin Playground mobile friendly, afin de ne pas ruiner le moment si vous avez oublié votre PC portable !

Consultez les tickets de la feuille de route :

——–

La communauté nous permet de faire évoluer Kotlin. Nous planifions ses améliorations en fonction de vos retours et de vos idées, alors n’hésitez pas à les partager avec nous via YouTrack, Slack ou nos autres canaux. 

Nous continuerons à vous informer de nos projets pour Kotlin sur notre blog et notre chaîne YouTube, alors abonnez-vous aux deux pour ne rien manquer !

En savoir plus

Auteur de l’article original en anglais :

Delphine Massenhove

Egor Tolstoy

image description

Discover more