Retour sur la KotlinConf 2023

#android #dev #IT #langage #technologie 

Après quelques années de pause, la conférence préférée des Kotliners a rouvert ses portes, et c’est à Amsterdam, au même endroit qu’il y a 5 ans que s’est déroulé l’événement. Pendant deux jours, les présentations se sont succédées sur tout ce qui touche au langage Kotlin, ponctuées de Codelabs et de discussion sur les stands des différents sponsors. Parce que la KotlinConf, c’est aussi l’occasion de discuter avec les experts (Google, Jetbrains…) présents pour profiter de leur connaissances et solliciter leur point de vue sur des problèmes que l’on a rencontré ou des cas d’usages qui sortent du périmètre habituel. Concernant les présentations, la diversité des sujets cette année, du développement Android au Backend, en passant par le web ou iOS, la construction d’IHM intuitives ou l’analyse de données à grande échelle, montrait à quel point le développement du langage lui a permis de s’étendre et d’adresser toujours plus de problématiques.

Mais cette conférence reste avant tout un événement organisé par l’éditeur JetBrains, auteur du langage depuis 2011. C’est donc l’occasion de tirer le bilan des dernières années et de faire les grandes annonces sur les nouveautés du moment et sur les fonctionnalités à surveiller dans le futur.

Un langage attractif

Et en matière de bilan, celui de Kotlin est toujours aussi positif, avec 86% de développeurs satisfaits par le langage (97% chez les développeurs Android !), une adoption toujours plus haute, en particulier dans le monde d’Android (95% du top 1000 des applications utilisent Kotlin, 1 Million de projets sur Github utilisent Kotlin comme langage principal). Un succès qui s’explique non seulement par l’attrait du langage, sa concision, son pragmatisme, mais aussi par sa robustesse : les applications Kotlin ont 20% de chances en moins de planter que les autres !

Les nouveautés de la KotlinConf

En terme de nouveautés, on parle des extensions statiques, de nouvelle syntaxe pour déclarer les collections, d’amélioration de l’écriture destructurée, de Context receivers ou encore de champs explicites pour répondre à l’éternel problème des attributs exposés sous une forme différente de celle sous laquelle ils sont accessibles localement. On parle aussi du nouveau compiler K2 qui va arriver avec Kotlin 2.0 et qui devrait améliorer les performance de compilation de manière sensible avec des gains de temps énormes du côté du compilateur front end. On a aussi découvert les Notebooks dans IntelliJ, des playgrounds dans l’éditeur aux capacités toujours plus étendues, qui permettent aussi bien de demander conseil à OpenAI pour générer un morceau de code que de manipuler ou visualiser des données à la volée sans avoir à écrire toute une application pour le faire.

Kotlin Multiplatform sur toutes les lèvres…

Mais le sujet chaud du moment, c’est bien l’essor de Kotlin Multiplatform. Depuis 2022, le nombre de librairies en Kotlin Multiplatform a augmenté de 60%, et la fin de la phase béta est annoncée pour bientôt. 2024 devrait être l’année de la stabilisation. Cet engouement est d’ailleurs évident dans la liste des sujets qui sont présentés pendant ces deux jours : comme avec les coroutines il y a cinq ans, énormément de développeurs sont venus donner leur retour d’expérience, expliquer comment mettre en place ce type de projets ou donner des astuces pour commencer à manipuler un projet multiplateforme. Et si la comparaison avec les coroutines se poursuit, le succès devrait être au rendez-vous.

Ce qui fait toute la force du Kotlin Multiplatform, c’est l’approche mixte qu’a choisie Jetbrains pour sa mise en place. Alors que pendant des années, le développement natif s’est opposé de manière assez frontale aux frameworks hybrides, Kotlin Multiplatform a préféré trouver un terrain d’entente qui profite du meilleur des deux mondes. D’un côté, le développement purement natif a en général été privilégié pour ses performances et sa capacité à tirer le meilleur parti de la plateforme sur laquelle il tourne, ce qui offre souvent la meilleure expérience utilisateur, mais il multiplie les coûts de développement en fonction du nombre de plateformes que l’on cible. De l’autre, les frameworks cross-platform misent avant tout sur le développement unique, mais en sacrifiant parfois une partie de l’expérience utilisateur sur l’autel de la compatibilité : on ne peut profiter que de tout ce qui est universellement géré par tous les OS cibles.

En conclusion…

Kotlin Multiplatform a fait le pari de ne pas tomber dans cet absolutisme en visant plutôt la mise en commun d’une partie du code, mais tout en conservant les avantages du natif. La mutualisation pourra être plus ou moins importante en fonction de similitudes des cibles (mobile, web, back-end…) et de la sensibilité de chacun, mais le développeur garde une liberté complète pour le reste de son projet. Le cœur de l’application avec ses règles métiers les plus critiques pourra ainsi être partagé, tandis que l’interface utilisateur pourra privilégier les librairies natives de chaque plateforme.

Comme l’a rappelé Kevlin Henney lors de la keynote du deuxième jour, il est impossible de prévoir l’avenir et d’affirmer avec certitude ce que sera le futur de Kotlin. Mais l’état actuel des choses et toutes les nouveautés qui entourent Kotlin Multiplatform tendent à indiquer qu’il va continuer de se répandre toujours plus, d’un bout à l’autre du SI, pour le plus grand bonheur des développeurs. A une condition cependant : c’est que les enthousiastes du langage que nous sommes arrivent à convaincre nos collègues du back, du Web ou d’iOS de nous emboîter le pas et de découvrir à leur tour tous les bienfaits de Kotlin !

Les collaborateurs toulousains de BPCE Solutions informatiques, de gauche à droite : Rémi Privet, David Blanc, Sliman Dupont, Jean-Luc Lafaye

 

Derniers articles