En mai, lors de la première journée de l’édition 2019 de sa conférence Google I/O dédiée aux développeurs, l’éditeur a annoncé que le langage de programmation Kotlin était désormais son langage préféré pour les développements d’applications Android. « Le développement d’Android deviendra de plus en plus Kotlin-first », indiquait 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 », poursuivait l’éditeur, précisant que « le code écrit en Kotlin signifie souvent beaucoup moins de code pour vous - moins de code à taper, tester et maintenir ».
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.
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.
En l’espace de deux ans, le langage Kotlin a gagné en popularité dans le développement des applications pour Android. En 2017, il devenait le deuxième langage officiellement pris en charge par Google pour sa plateforme mobile. En mai dernier, Google l’a officiellement recommandé aux développeurs. Aujourd’hui, presque 60 % des applications du Top 1000 embarquent du code écrit en Kotlin d’après une annonce de Google qui indique que :
« Lorsque nous avons annoncé que Kotlin était un langage pris en charge pour Android, il y avait énormément d’enthousiasme chez les développeurs. Depuis lors, le nombre de développeurs utilisant Kotlin a régulièrement augmenté. Aujourd’hui, nous sommes fiers de dire que près de 60% des 1 000 meilleures applications Android contiennent du code Kotlin, de plus en plus de développeurs Android introduisant du code plus sûr et plus concis en utilisant Kotlin ».
En 2019, Google s’est concentré à faire de la programmation Kotlin sur Android une expérience transparente, avec des API modernes Kotlin-first sur la plateforme Android. Plus tôt cette année, Google a lancé une préversion pour les développeurs de Jetpack Compose, une boîte à outils d’interface utilisateur moderne pour Android conçue à l’aide d’un langage spécifique au domaine Kotlin (DSL). Google a également intégré des coroutines dans plusieurs des bibliothèques phares de Jetpack, notamment Room et Lifecycle. Enfin, Google a apporté des extensions Kotlin (KTX) à des bibliothèques Google encore plus importantes, notamment Firebase et Play Core.
Du côté de l’outillage, Google a renforcé son engagement envers Kotlin dans Android Studio et le pipeline de build Android. Des mises à jour importantes de R8 (le réducteur de code pour Android) ont permis de détecter et de gérer les modèles de bytecode spécifiques à Kotlin. La prise en charge des scripts de build .kts Gradle dans Android Studio a été ajoutée, ainsi qu’une prise en charge améliorée de Kotlin dans Dagger. Google a travaillé en étroite collaboration avec l’équipe JetBrains pour optimiser la prise en charge du plugin Kotlin et rendre l’expérience d’édition de Kotlin fluide et rapide dans Android Studio.
L’éditeur, qui a participé à la KotlinConf, a également des projets d’avenir pour Kotlin :
« En 2020, le développement d’Android continuera d’être Kotlin-first. Nous avons écouté vos commentaires et continuerons de travailler en partenariat avec JetBrains pour améliorer votre expérience avec Kotlin.
« Cela comprend la collaboration avec JetBrains pour améliorer le compilateur Kotlin au cours de la prochaine année. Nos équipes rendent le compilateur plus extensible avec un nouveau backend et accélèrent vos builds avec un frontend nettement plus rapide. Nous travaillons également avec plusieurs des plus grands processeurs d’annotation pour accélérer la compilation du code Kotlin. Vous pouvez également vous attendre à plus de mises à jour Kotlin pour Android, y compris plus de bibliothèques Jetpack qui utilisent des fonctionnalités Kotlin telles que les coroutines ».