News

Neuf points essentiels de la feuille de route de Kotlin

Read this post in other languages:
English, 한국어, Deutsch

De nombreux utilisateurs du langage souhaitent savoir ce que la feuille de route de Kotlin prévoit. Nous parlons souvent du nouveau compilateur à venir, de l’accent mis sur la qualité et la performance des outils et de l’expérience Kotlin Multiplatfom Mobile et côté serveur, mais nous travaillons sur bien d’autres points.

Pour vous tenir informé·e et suivre tous les projets de l’équipe, consultez la feuille de route publique de Kotlin. Nous venons de l’actualiser avec nos projets pour 2021 et au-delà ! Cette mise à jour couvre les évolutions prévues pour le langage, les outils et l’écosystème pour l’année à venir. Vous pouvez choisir d’examiner la feuille de route mise à jour ou de consulter ses points clés dans cet article.

Nous avons aussi préparé une vidéo qui présente les cinq points les plus importants de cette dernière mise à jour.

1️⃣ Une grande avancée pour le nouveau compilateur

2️⃣ Sealed whens

3️⃣ Pari sur WebAssembly

4️⃣ Nouveau ramasse-miettes Kotlin/Native sur la voie d’une version expérimentale

5️⃣ Amélioration des outils liés à iOS dans KMM

6️⃣ Prise en charge de la cible Apple Silicon dans les outils Kotlin Multiplatform

7️⃣ Nouvelles façons d’améliorer les performances et la stabilité de l’IDE

8️⃣ Nouvelles fonctionnalités pour les principales bibliothèques

9️⃣ Application du nouveau style graphique aux ressources fournies à la communauté

1️⃣ Une grande avancée pour le nouveau compilateur

Le nouveau compilateur Kotlin est un projet de grande ampleur qui consiste à réécrire les backends JVM et JS ainsi que le frontend conformément à la nouvelle architecture. Une fois achevé, ce projet devrait apporter des améliorations de performance significatives, permettre la prise en charge des API de plugins du compilateur et nous donner la possibilité de créer de nouvelles fonctionnalités de langage. Nous venons de publier le nouveau backend JVM du compilateur et nous concentrons à présent sur d’autres éléments.

Pour parvenir à booster la performance, nous avons besoin du nouveau frontend du compilateur. Nous y travaillons activement depuis un certain temps et nous nous rapprochons de la version Alpha. Dans un premier temps, il ne prendra en charge que la cible JVM et ne fonctionnera qu’avec un ensemble précis de projets. S’il est activé de façon explicite, le nouveau frontend doublera la vitesse de compilation !

Dans un second temps, il s’agira de stabiliser le nouveau backend Kotlin/JS. Cela nécessite la mise en œuvre d’une compilation incrémentielle et d’une génération de carte source.

2️⃣ Sealed whens

Avez-vous une fonction utilitaire dans votre base de code qui rend l’instruction when de Kotlin exhaustive ? Jake Wharton a même créé un plugin Kotlin introduisant une annotation qui rend une instruction @Exhaustive when réellement exhaustive. Nous espérons que vous n’en aurez bientôt plus besoin !

Nous prévoyons d’introduire sealed when, une fonctionnalité attendue depuis longtemps qui a généré 230 votes dans YouTrack. La syntaxe spécifique du langage n’est pas encore prête, mais l’idée générale est de permettre au compilateur de vous avertir si votre instruction when n’est pas exhaustive. Cela améliorera la sécurité de votre code sans que vous ayez à introduire vos propres fonctions.

Kotlin évolue rapidement grâce à l’ajout de nouveautés et à la stabilisation des fonctionnalités expérimentales.

Consultez notre feuille de route pour prendre connaissance des 48 fonctionnalités sur lesquelles nous travaillons actuellement !

3️⃣ Pari sur WebAssembly

Nous pensons que WebAssembly deviendra la nouvelle norme pour la création d’applications web riches à l’avenir et que Kotlin devrait être un langage parfaitement adapté pour cela.

C’est pourquoi nous avons décidé de tout miser sur l’association Kotlin/Wasm ! Nous avons déjà commencé à créer une équipe dédiée qui y travaillera à plein temps. Nous prévoyons d’itérer sur les performances, de travailler en étroite collaboration avec les auteurs des propositions de ramasse-miettes WebAssembly, d’implémenter des fonctionnalités de base du langage Kotlin, des bibliothèques et une prise en charge basique de Gradle, et d’ajouter une interopérabilité JavaScript expérimentale. 

4️⃣ Nouveau ramasse-miettes Kotlin/Native sur la voie d’une version expérimentale

Nous avons déjà prototypé la plupart des composants requis pour créer un ramasse-miettes simple. L’étape suivante consiste à écrire une implémentation d’un ramasse-miettes multithread. La première version sera lente, donc non adaptée pour la production. Mais nous avons l’intention de la rendre publique dans le courant de l’année pour commencer à recueillir des retours d’expérience. Si vous voulez en savoir plus, Roman Elizarov vient de publier un article comportant beaucoup plus de détails sur l’état actuel de notre ramasse-miettes et les projets futurs. 

Préparez-vous à dire adieu à votre vieille copine InvalidMutabilityException car vous cesserez de la voir lorsque vous travaillez avec Kotlin/Native !

5️⃣ Amélioration des outils liés à iOS dans KMM

KMM étant une technologie multiplateforme, nous souhaitons offrir aux développeurs des outils pratiques pour iOS ! Outre la refonte du modèle de mémoire Kotlin/Native, il reste encore beaucoup à faire. Pour le moment, nous travaillons à améliorer l’expérience utilisateur de l’intégration de Cocoapods et à masquer la tâche de build Gradle packForXcode du script par défaut pour simplifier la configuration de projet et la première expérience.

Conseil : le tableau YouTrack dédié permet de consulter facilement les 48 fonctionnalités figurant dans la feuille de route. Essayez vous-même !

6️⃣ Prise en charge de la cible Apple Silicon dans les outils Kotlin Multiplatform

L’adoption de l’Apple Silicon poursuit sa croissance. Le compilateur Kotlin/Native fonctionne déjà sur cette plateforme et peut produire des binaires. Pour vous permettre de profiter pleinement d’Apple Silicon dans vos projets, nous allons la prendre en charge dans le plugin Kotlin Multiplatform Gradle et dans toutes les bibliothèques Kotlinx.

7️⃣ Nouvelles façons d’améliorer les performances et la stabilité des IDE

La prise en charge rapide et fluide des IDE reste notre priorité. Bien que notre solution à long terme pour augmenter sa réactivité repose sur le nouveau compilateur, nous continuons à prendre en charge nos outils actuels et cherchons de nouveaux moyens de booster vos performances.

Le plugin Kotlin pour IntelliJ IDEA et Android Studio utilise plus de 30 index différents. La refactorisation du système d’index nous semble donc pouvoir offrir de nombreuses possibilités d’améliorer la vitesse et la stabilité de l’analyse du code. En outre, nous prévoyons d’augmenter considérablement la vitesse de la navigation et de Find Usages dans les IDE.

Conseil : la feuille de route fera l’objet d’une mise à jour conséquente tous les six mois, avec quelques modifications possibles après la sortie de chaque fonctionnalité. Si vous voulez suivre un ticket spécifique, il vous suffit de voter pour ce dernier et vous recevrez des notifications lors de ses mises à jour.

Follow a YT ticket

8️⃣ Nouvelles fonctionnalités pour les principales bibliothèques

Nous continuons à améliorer les bibliothèques standard et kotlinx, comme les coroutines et la sérialisation. Voici quelques-unes de ces améliorations :

9️⃣ Application du nouveau style graphique aux ressources fournies à la communauté

Avez-vous remarqué que Kotlin a un nouveau logo ? Cela fait partie de notre projet de nouveau style visuel, dans le cadre lequel nous avons actualisé nos couleurs, notre typographie et notre identité. Nous prévoyons maintenant d’utiliser ce nouveau style pour mettre à jour les ressources fournies aux groupes d’utilisateurs de Kotlin :

Si vous organisez un ou plusieurs groupes d’utilisateurs, nous vous serions très reconnaissant·es de nous faire part de vos retours d’expérience sur les ressources qui vous manquent ou sur ce que nous pouvons faire pour vous aider dans ce ticket.


Vos commentaires et vos idées contribuent à définir l’orientation que nous donnons à nos projets pour l’avenir de Kotlin. Nous continuerons à partager nos projets sur notre blog et notre chaîne YouTube, alors abonnez-vous, restez à l’écoute et partagez vos réflexions et votre expérience avec nous.

Conseil : pour voir toutes les vidéos sur les points clés de la feuille de route que nous publions régulièrement, abonnez-vous à notre chaîne YouTube.

En savoir plus

Discover more