IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Sept points clés de la feuille de route de Kotlin pour fin 2021 :
Focus sur la stabilité et la robustesse pour KMM, amélioration de Kotlin Playground et bien d'autres

Le , par Stéphane le calme

217PARTAGES

8  0 
Kotlin est un langage de programmation orienté objet et fonctionnel, avec un typage statique qui permet de compiler pour la machine virtuelle Java et JavaScript. Il est développé par une équipe de programmeurs chez JetBrains, l'éditeur d'IntelliJ IDEA, l'environnement de développement intégré pour Java et sur lequel est basé Android Studio, l’EDI officiel pour développer les applications Android.

En 2019, lors de la première journée de sa conférence Google I/O dédiée aux développeurs, la grande enseigne 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. « Le développement d’Android deviendra de plus en plus Kotlin-first », a écrit Google dans un billet de blog. « De nombreuses nouvelles API Jetpack et fonctionnalités seront d'abord proposées pour Kotlin. Si vous commencez un nouveau projet, vous devriez l’écrire en Kotlin », poursuit Google en expliquant que « le code écrit en Kotlin signifie souvent beaucoup moins de code pour vous - moins de code à taper, tester et maintenir. »

Le support officiel de Kotlin pour le développement Android a été annoncé à la conférence Google I/O 2017. Pour l’équipe Android de Google, cette décision de supporter Kotlin s’expliquait aisément. D’abord le support EDI pour Kotlin : Android Studio est basé sur IntelliJ IDEA de JetBrains et l'équipe JetBrains travaille depuis des années pour s'assurer que Kotlin fonctionne parfaitement avec IntelliJ IDEA. Google héritera donc de tout leur travail pour supporter Kotlin dans Android Studio. Mais au-delà de cet aspect, Kotlin présente bien d’autres avantages. D’après Google, « Kotlin est [un langage] expressif, concis, extensible, puissant et agréable à lire et écrire », et « il a des fonctionnalités de sécurité intéressantes en termes de nullabilité et d'immutabilité » qui s'alignent avec ses investissements pour rendre les applications sûres et performantes par défaut.

Le plus important d’après Google, c’est que Kotlin est interopérable avec les langages officiels pour le développement Android (Java, C++) et le runtime Android. La firme a expliqué par exemple que Kotlin fonctionne avec le langage Java de manière transparente, de sorte qu'il est facile pour les développeurs qui aiment le langage Java de continuer à l'utiliser, mais aussi d'ajouter progressivement du code Kotlin et de tirer parti des bibliothèques Kotlin. En outre, l'adoption de Kotlin sur Android augmentait régulièrement au fil des années, et d’après Google, avec un enthousiasme croissant parmi les développeurs ; une des raisons pour lesquelles la société a voulu accueillir Kotlin en tant que langage officiel sur Android pour assurer à ces derniers un meilleur support de Kotlin. Ce qui a été fait à partir d'Android Studio 3.0.


Feuille de route pour fin 2021

JetBrains note que 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, l'éditeur estime avoir besoin d’un système d’ingénierie très complexe, qui comprend : la syntaxe du langage, le frontend et backend du compilateur, l’EDI, 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, une feuille de route publique de Kotlin est disponible. JetBrains l'a mise à jour pour y inclure ses projets pour Kotlin 1.7.0 et ses versions ultérieures ! Ici, nous présenterons sept points considérés comme clés par l'éditeur lui-même sur sa feuille de route.

Et pour ceux qui ne veulent pas lire, une vidéo sur ces points clés est disponible !


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’EDI, 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.

L'équipe de JetBrains 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. L'éditeur assure que 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 ».

JetBrains va 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.

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

Focus sur la stabilité et la robustesse pour KMM

KMM passera en Bêta au printemps 2022 ! JetBrains se concentre 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.

JetBrains continue également d’améliorer l’expérience pour le développement multiplateforme. L'éditeur vient 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. JetBrains prévoit aussi d’améliorer la stabilité et les performances afin de faciliter la future migration vers le nouveau gestionnaire de mémoire.

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.

JetBrains prévoit 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.

Kover, un outil de couverture de test pour Kotlin

JetBrains pense qu’il est essentiel pour la croissance de son é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 l'éditeur a 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 ses 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. JetBrains prévoit de développer Kover en fonction de vos retours, aussi, l'éditeur recommande de l'essayer et de lui faite part de vos commentaires !

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

JetBrains travaille également sur Dokka, un outil de génération de documentation destiné aux développeurs de bibliothèques. Dokka est passé 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. JetBrains souhaite 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, JetBrains réalisera une série d’entretiens et prendra en compte vos commentaires !

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

La migration du plugin d’EDI Kotlin vers l’infrastructure de développement de la plateforme IntelliJ a été une tâche d’ingénierie complexe qui a permis à JetBrains 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. JetBrains prévoit de régler ceci et d’autres problèmes avec l’adoption de la version du plugin Kotlin EDI en améliorant son infrastructure interne.

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, il y a Kotlin Playground. Kotlin Playground étant devenu très populaire, l'éditeur souhaite vous offrir encore plus de possibilités !

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

feuille de route de Kotlin pour fin 2021

Une erreur dans cette actualité ? Signalez-nous-la !