La nomenclature de Compose vous permet de gérer toutes les versions de votre bibliothèque Compose en ne spécifiant que la version de la nomenclature. La nomenclature elle-même contient des liens vers les versions stables des différentes bibliothèques Compose, de manière à ce qu'elles fonctionnent correctement ensemble. Lorsque vous utilisez la nomenclature dans votre application, vous n'avez pas besoin d'ajouter de versions aux dépendances des bibliothèques Compose elles-mêmes. Lorsque vous mettez à jour la version de la nomenclature, toutes les bibliothèques que vous utilisez sont automatiquement mises à jour vers leur nouvelle version.
Kotlin
dependencies { // Specify the Compose BOM with a version definition val composeBom = platform("androidx.compose:compose-bom:2024.10.01") implementation(composeBom) testImplementation(composeBom) androidTestImplementation(composeBom) // Specify Compose library dependencies without a version definition implementation("androidx.compose.foundation:foundation") // .. testImplementation("androidx.compose.ui:ui-test-junit4") // .. androidTestImplementation("androidx.compose.ui:ui-test") }
Groovy
dependencies { // Specify the Compose BOM with a version definition Dependency composeBom = platform('androidx.compose:compose-bom:2024.10.01') implementation composeBom testImplementation composeBom androidTestImplementation composeBom // Specify Compose library dependencies without a version definition implementation 'androidx.compose.foundation:foundation' // .. testImplementation 'androidx.compose.ui:ui-test-junit4' // .. androidTestImplementation 'androidx.compose.ui:ui-test' }
Pour savoir quelle version d'une bibliothèque Compose correspond à quelle version de la nomenclature, consultez la section Correspondance entre les versions de la nomenclature et des bibliothèques.
Pourquoi la bibliothèque de compilateur Compose n'est-elle pas incluse dans la nomenclature ?
L'extension du compilateur Kotlin Compose (androidx.compose.compiler) n'est pas associée aux versions des bibliothèques Compose. Au lieu de cela, elle est associée aux versions du plug-in du compilateur Kotlin et publiée à une fréquence différente des autres éléments de Compose.
À partir de Kotlin 2.0, le compilateur d'application Compose est géré avec le compilateur Kotlin et utilise la même version que le compilateur Kotlin. Pour en savoir plus sur la configuration, consultez Plugin Gradle du compilateur Compose.
Avant Kotlin 2.0, vous devez vous assurer d'utiliser une version compatible avec votre version de Kotlin. Vous trouverez la version de Kotlin qui correspond à chaque version du plug-in sur la carte de compatibilité entre Compose et Kotlin, et comment la configurer sur le compilateur Compose.
Comment utiliser une version de bibliothèque différente de celle désignée dans la nomenclature ?
Dans la section des dépendances build.gradle
, conservez l'importation de la plate-forme de nomenclature. Sur l'importation des dépendances de bibliothèque, spécifiez la version de remplacement. Par exemple, voici comment déclarer des dépendances si vous souhaitez utiliser une version plus récente de la bibliothèque d'animation, quelle que soit la version désignée dans la nomenclature:
Kotlin
dependencies { // Specify the Compose BOM with a version definition val composeBom = platform("androidx.compose:compose-bom:2024.10.01") implementation(composeBom) // Override the BOM version when needed implementation("androidx.compose.animation:animation:1.8.0-alpha05") // .. }
Groovy
dependencies { // Specify the Compose BOM with a version definition Dependency composeBom = platform("androidx.compose:compose-bom:2024.10.01") implementation composeBom // Override the BOM version when needed implementation 'androidx.compose.animation:animation:1.8.0-alpha05' // .. }
La nomenclature ajoute-t-elle automatiquement toutes les bibliothèques Compose à mon application ?
Non. Pour ajouter et utiliser des bibliothèques Compose dans votre application, vous devez déclarer chaque bibliothèque en tant que ligne de dépendance distincte dans le fichier Gradle de votre module (au niveau de l'application ; généralement app/build.gradle).
Utiliser la nomenclature garantit la compatibilité de toutes les bibliothèques Compose de votre application. Cependant, la nomenclature n'ajoute pas ces bibliothèques Compose à votre application.
Pourquoi est-il recommandé de gérer les versions des bibliothèques Compose à l'aide de la nomenclature ?
À l'avenir, les versions des bibliothèques Compose seront gérées indépendamment les unes des autres. Cela qui signifie que les numéros de version commenceront à être incrémentés à leur propre rythme. Les dernières versions stables de chaque bibliothèque sont testées ensemble. Toutefois, il peut être difficile de trouver la dernière version stable de chaque bibliothèque. La nomenclature vous aide à utiliser automatiquement cette dernière version.
Suis-je obligé d'utiliser la nomenclature ?
Non. Vous pouvez toujours choisir d'ajouter manuellement chaque version de dépendance. Nous vous recommandons cependant d'utiliser la nomenclature, car il sera ainsi plus facile d'utiliser en même temps toutes les dernières versions stables.
La nomenclature fonctionne-t-elle avec les catalogues de versions ?
Oui. Vous pouvez inclure la nomenclature elle-même dans le catalogue de versions et omettre les autres versions des bibliothèques Compose :
[libraries]
androidx-compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "androidxComposeBom" }
androidx-compose-foundation = { group = "androidx.compose.foundation", name = "foundation" }
N'oubliez pas d'importer la nomenclature dans le build.gradle
de votre module:
Kotlin
dependencies { val composeBom = platform(libs.androidx.compose.bom) implementation(composeBom) androidTestImplementation(composeBom) // import Compose dependencies as usual }
Groovy
dependencies { Dependency composeBom = platform(libs.androidx.compose.bom) implementation composeBom androidTestImplementation(composeBom) // import Compose dependencies as usual }
Que faire si je souhaite tester les versions alpha ou bêta des bibliothèques Compose ?
Trois nomenclatures Compose sont disponibles. Chaque nomenclature est un instantané à un moment donné des dernières versions disponibles des bibliothèques Compose.
- Stable : contient les dernières versions stables de chaque bibliothèque
- Bêta : contient les dernières versions bêta, versions candidates (RC) ou stables de chaque bibliothèque
- Alpha : contient les dernières versions alpha, bêta, RC ou stables de chaque bibliothèque
Les versions alpha et bêta de la nomenclature sont spécifiées en ajoutant -alpha
et -beta
au nom de l'artefact de nomenclature. La version stable ne comporte aucun suffixe.
Kotlin
dependencies { // Specify the Compose BOM with a version definition val composeBom = platform("androidx.compose:compose-bom-alpha:2024.10.01") // or platform("androidx.compose:compose-bom-beta:2024.10.01") implementation(composeBom) // .. }
Groovy
dependencies { // Specify the Compose BOM with a version definition Dependency composeBom = platform('androidx.compose:compose-bom-alpha:2024.10.01') // or platform('androidx.compose:compose-bom-beta:2024.10.01') implementation composeBom // .. }
Comment signaler un problème avec la nomenclature ou envoyer des commentaires à son sujet ?
Vous pouvez signaler les problèmes dans notre Issue Tracker.
Recommandations personnalisées
- Remarque : Le texte du lien s'affiche lorsque JavaScript est désactivé
- Material Design 3 dans Compose
- ConstraintLayout dans Compose
- Ressources disponibles dans Compose