News

Le DSL Kotlin devient le langage par défaut pour les nouveaux builds Gradle

Read this post in other languages:

L’un de nos principaux objectifs est de favoriser la création de builds mieux structurés et plus simples à maintenir pour les développeurs. À cet égard, l’utilisation de Kotlin pour la création de scripts de builds et de plugins Gradle nous apparaît comme naturelle, car le langage fournit de nombreuses fonctionnalités puissantes, idéales pour créer un DSL et améliorer de façon significative l’expérience des développeurs.

Nous avons beaucoup avancé dans notre travail depuis l’introduction de Kotlin dans Gradle et nous avons le plaisir d’annoncer que le DSL Kotlin est maintenant le langage par défaut pour les nouveaux builds Gradle ! Le DSL Kotlin devient donc l’option par défaut dans les plugins et la documentation. Les fonctionnalités avancées de Kotlin, telles que les fonctions de première classe et les méthodes d’extension, permettent de gérer et d’améliorer les meilleurs éléments des scripts Gradle.

JetBrains, Google et Gradle ont annoncé que le DSL Kotlin est maintenant l'option par défaut pour les nouveaux builds Gradle

« Grâce à la collaboration fructueuse entre JetBrains, Google et Gradle, le DSL Kotlin a atteint un niveau de maturité supérieur , et sa dernière version est encore plus efficace et conviviale pour les projets des développeurs. » ~ L’équipe Gradle

Google a par ailleurs annoncé l’utilisation du DSL Kotlin comme script par défaut des fichiers de builds Gradle pour les applications Android.

Google, Gradle et JetBrains vont poursuivre leur collaboration pour obtenir un style de codage unifié et des idiomes définis, afin d’améliorer la qualité du code pour les utilisateurs de Kotlin.

Dans cet article, nous présentons les principaux avantages du DSL Kotlin pour l’écriture de scripts Gradle et les capacités de prise en charge actuelles des IDE pour les fichiers build.gradle.kts.

Avantages du DSL Kotlin par rapport à Groovy

Kotlin combine plusieurs points forts qui font du DSL Kotlin un choix de premier ordre pour l’écriture de scripts de builds et de plugins Gradle.

Si vous hésitez encore à passer de Groovy à Kotlin pour vos fichiers de builds Gradle pour Android, voici les 4 principaux avantages à utiliser Kotlin.

  1. Les vérifications lors de la compilation

Groovy est un langage dynamique, alors que Kotlin est un langage à typage statique. Ainsi, lorsque le DSL Kotlin est utilisé, les erreurs de script du build sont visibles dès la compilation, sans attendre l’exécution.

À l’inverse, avec la vérification de type dynamique , les erreurs ne sont détectées qu’une fois le script de build exécuté. Les vérifications lors de la compilation vous permettent de résoudre les problèmes plus tôt. D’autre part, si vous travaillez dans un IDE, l’éditeur peut vous signaler ces erreurs. Voici par exemple ce que vous verrez si vous essayez de référencer le nom de configuration `applications` au lieu de `application`.

Lorsque le DSL Kotlin est utilisé, les erreurs du script de build peuvent être repérées lors de la compilation

2. Une meilleure expérience avec l’IDE

Avec plus d’informations sémantiques sur le code, vous pouvez tirer pleinement parti des fonctionnalités de l’IDE, parmi lesquelles :

  • La saisie semi-automatique et l’assistance relative au contenu
  • La navigation dans le code source
  • Les refactorisations

Jusqu’à présent, ce sont IntelliJ IDEA et Android Studio qui offrent l’environnement le mieux intégré pour Kotlin. Vous pouvez toutefois importer des builds basés sur le DSL Kotlin et travailler avec ceux-ci dans d’autres IDE. Nous vous invitons à consulter la matrice sur la prise en charge du DSL Kotlin dans les IDE disponible dans la documentation Gradle.

3. La syntaxe déclarative simplifiée du plugin

Le DSL Kotlin offre une syntaxe différente de celle du DSL Groovy classique et présente les mêmes avantages que le langage Kotlin de base. Examinons ces deux langages pour les comparer.

Lorsque vous utilisez un plugin Gradle à un projet, vous devez seulement spécifier l’ID du plugin. Par exemple, spécifier le plugin `application` avec le DSL Groovy donnerait ceci :

Spécifier l'ID du plugin avec le DSL Groovy

Grâce à la syntaxe simplifiée du DSL Kotlin, vous n’avez plus qu’à saisir “application” en Kotlin :

Spécifier l'ID du plugin avec le DSL Kotlin

Comme indiqué plus haut, l’IDE signalera une erreur de syntaxe si vous tentez d’appliquer un plugin qui n’existe pas.

4. Une communauté de développeurs Kotlin en plein essor

Kotlin fédère une importante communauté de développeurs passionnés, qui apportent leur contribution au langage et aux bibliothèques, et proposent des plugins Gradle.

La proactivité et la croissance de la communauté favorisent la production d’une grande quantité de ressources utiles, provenant de développeurs expérimentés comme de nouveaux utilisateurs de Kotlin, parmi lesquelles la documentation officielle de Kotlin, mais aussi des forums, des blogs, des fils de discussion sur les réseaux sociaux et des formations en ligne.

La disponibilité de toutes ces ressources permet aux utilisateurs de trouver plus facilement des solutions à leurs problèmes et de développer leurs compétences.

Passer de Groovy au DSL Kotlin

La puissance des fonctionnalités et les avantages offerts par le DSL Kotlin en font un choix idéal pour gagner en productivité et créer des logiciels hautement performants. Si vous souhaitez faire passer un build Gradle existant de Groovy au DSL Kotlin, consultez ce tutoriel sur la migration de Gradle. Pour les développeurs Android, il existe un guide détaillé sur la conversion des fichiers de builds Gradle de votre application Android de Groovy vers KTS.

Gradle continue d’assurer la prise en charge du DSL Groovy et recommande de ne pas migrer les gros projets ayant une logique de build complexe et utilisant le DSL Groovy pour le moment. Toutefois, Kotlin étant devenu le DSL Gradle par défaut, nous pensons que son utilisation offrira une meilleure expérience pour l’écriture et la modification des scripts de builds, et notre équipe continue de travailler à la conception d’outils riches en fonctionnalités pour le développement d’applications efficaces.

Article original en anglais de :

Delphine Massenhove

Anton Yalyshev

image description

Discover more