Compilateur Compose

Transformation de fonctions @Composable et prise en charge des optimisations avec un plug-in de compilation en Kotlin.
Dernière mise à jour Version stable Version finale Version bêta Version alpha
8 février 2023 1.4.2 - - -

Structure

Compose est une combinaison de sept ID de groupe Maven dans androidx, chacun contenant un sous-ensemble ciblé de fonctionnalités. Chaque sous-ensemble est associé à son propre ensemble de notes de version.

Ce tableau décrit les différents groupes et renvoie à chaque ensemble de notes de version.

GroupeDescription
compose.animationCréer des animations dans les applications Jetpack Compose afin d'enrichir l'expérience utilisateur.
compose.compilerTransformation de fonctions @Composable et prise en charge des optimisations avec un plug-in de compilation en Kotlin.
compose.foundationConception d'applications Jetpack Compose avec des éléments de base prêts à l'emploi et extension de la base pour créer vos propres éléments de système de conception.
compose.materialCréation d'UI Jetpack Compose avec des composants Material Design prêts à l'emploi. Il s'agit du point d'entrée de niveau supérieur de Compose, conçu pour fournir des composants qui correspondent à ceux décrits sur www.material.io.
compose.material3Création d'UI Jetpack Compose grâce aux composants Material Design 3, la nouvelle évolution de Material Design. Material 3 inclut des thématisations et des composants mis à jour ainsi que des fonctionnalités de personnalisation Material You telles que les couleurs dynamiques. Material 3 est conçu pour correspondre au nouveau style visuel et à l'UI du système Android 12.
compose.runtimeComposants fondamentaux du modèle de programmation et de la gestion d'état de Compose, et environnement d'exécution principal du plug-in Compose Compiler à cibler.
compose.uiComposants fondamentaux de l'interface utilisateur de Compose nécessaires pour interagir avec l'appareil, y compris la mise en page, le dessin et la saisie.

Déclarer des dépendances

Pour ajouter une dépendance sur Compose, vous devez ajouter le dépôt Maven de Google à votre projet. Pour en savoir plus, consultez la section Dépôt Maven de Google.

Ajoutez les dépendances correspondant aux artefacts dont vous avez besoin dans le fichier build.gradle de votre application ou de votre module :

Groovy

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.6"
    }

    kotlinOptions {
        jvmTarget = "19"
    }
}

Kotlin

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.6"
    }

    kotlinOptions {
        jvmTarget = "19"
    }
}

Pour en savoir plus sur les dépendances, consultez Ajouter des dépendances de compilation.

Commentaires

Vos commentaires nous aident à améliorer Jetpack. N'hésitez pas à nous contacter si vous découvrez de nouveaux problèmes ou si vous avez des idées pour améliorer cette bibliothèque. Veuillez consulter les problèmes existants de cette bibliothèque avant d'en signaler un nouveau. Vous pouvez ajouter votre vote à un problème existant en cliquant sur le bouton en forme d'étoile.

Signaler un nouveau problème

Pour en savoir plus, consultez la documentation sur l'outil Issue Tracker.

Version 1.4.2

Version 1.4.2

8 février 2023

Publication d'androidx.compose.compiler:compiler:1.4.2. Liste des commits de la version 1.4.2

Nouvelles fonctionnalités

  • Compatibilité avec Kotlin 1.8.10.

Correction de bugs

  • Ajout des groupes dans le corps des lambdas non désactivables afin d'éviter tout bug de recomposition.

Version 1.4.1

Version 1.4.1

8 février 2023

Publication d'androidx.compose.compiler:compiler:1.4.1. Liste des commits de la version 1.4.1

Correction de bugs

  • Désactivation de l'optimisation de la mémorisation intrinsèque, qui comportait quelques bugs de génération de code.
  • Désactivation de la mémorisation intrinsèque dans les fonctions contenant un paramètre vararg.
  • Correction des erreurs qui ignoraient des éléments dans les composables avec des paramètres par défaut.
  • Ajout d'un message d'erreur de remplacement défensif si la vérification de la compatibilité Kotlin échoue.
  • Suppression de l'étape où la génération de code était ignorée à partir du lambda intégré.

Version 1.4.0

17 janvier 2023

Publication d'androidx.compose.compiler:compiler:1.4.0. Liste des commits de la version 1.4.0

Changements importants depuis la version 1.3.0

  • Compatibilité avec Kotlin 1.8.0.
  • Mémorisation intrinsèque désactivée.
  • La classe de données ui-tooling Group dispose désormais d'un champ, isInline, qui indique si le groupe est destiné à un appel à une fonction modulable intégrée. Si isInline est défini sur true, il s'agit d'un appel à une fonction modulable intégrée. Toutefois, la valeur peut être "false" pour les appels à des fonctions modulables intégrées qui proviennent de modules compilés avec une version du plug-in de compilation Compose qui ne génère pas d'informations sur la fonction intégrée.
  • ImmutableCollection et ses frères persistants sont maintenant considérés comme stables.
  • Nouveau paramètre dans AnimatedContent pour l'étiquette d'outil.
  • Résolution du problème de génération de code pour le lambda intégré.

Version 1.4.0-alpha02

11 novembre 2022

Publication d'androidx.compose.compiler:compiler:1.4.0-alpha02. Liste des commits de la version 1.4.0-alpha02

Nouvelles fonctionnalités

  • Ajout de la compatibilité avec Kotlin 1.7.21

Version 1.4.0-alpha01

9 novembre 2022

Publication d'androidx.compose.compiler:compiler:1.4.0-alpha01. Liste des commits de la version 1.4.0-alpha01.

Correction de bugs

  • Correction permettant de renvoyer plus tôt des fonctions modulables intégrées (b/255350755)
  • Correction d'un bug lors de la réduction du leurre qui empêchait la prise en charge de Kotlin/JS dans Compose (6a40f8)

Version 1.3

Version 1.3.2

4 octobre 2022

Publication d'androidx.compose.compiler:compiler:1.3.2. Liste des commits de la version 1.3.2.

Nouvelle fonctionnalité

  • Cette version inclut une mise à jour vers Kotlin 1.7.20.

Version 1.3.1

7 septembre 2022

Publication d'androidx.compose.compiler:compiler:1.3.1. Liste des commits de la version 1.3.1

Correction de bugs

  • Correction de IllegalStateException : le compilateur Compose marquait par erreur les types d'unités comme composables dans certaines circonstances. (b/237863365)
  • Les utilisateurs doivent maintenant spécifier leur version de Kotlin préférée lorsqu'ils suppriment la vérification de la version du compilateur. (I9e5e2)

Version 1.3.0

10 août 2022

Publication d'androidx.compose.compiler:compiler:1.3.0. Liste des commits de la version 1.3.0.

Version 1.3.0-rc02

3 août 2022

Publication d'androidx.compose.compiler:compiler:1.3.0-rc02. Liste des commits de la version 1.3.0-rc02

Version 1.3.0-rc01

27 juillet 2022

Publication d'androidx.compose.compiler:compiler:1.3.0-rc01. Liste des commits de la version 1.3.0-rc01

Version 1.3.0-beta01

20 juillet 2022

Publication d'androidx.compose.compiler:compiler:1.3.0-beta01. Liste des commits de la version 1.3.0-beta01

Nouvelles fonctionnalités

  • Ajout de la compatibilité avec Kotlin 1.7.10

Version 1.2

Version 1.2.0

29 juin 2022

Publication d'androidx.compose.compiler:compiler:1.2.0. Liste des commits de la version 1.2.0

Changements importants depuis la version 1.1.0

Version 1.2.0-rc02

22 juin 2022

Publication d'androidx.compose.compiler:compiler:1.2.0-rc02. Liste des commits de la version 1.2.0-rc02

Correction de bugs

  • Suppression de la génération de code sur les événements de trace du composable (aosp/2127922)

Version 1.2.0-rc01

15 juin 2022

Publication d'androidx.compose.compiler:compiler:1.2.0-rc01. Liste des commits de la version 1.2.0-rc01.

Version 1.2.0-beta03

1er juin 2022

Publication d'androidx.compose.compiler:compiler:1.2.0-beta03. Liste des commits de la version 1.2.0-beta03

Version 1.2.0-beta02

18 mai 2022

Publication d'androidx.compose.compiler:compiler:1.2.0-beta02. Liste des commits de la version 1.2.0-beta02

Version 1.2.0-beta01

11 mai 2022

Publication d'androidx.compose.compiler:compiler:1.2.0-beta01. Liste des commits de la version 1.2.0-beta01

  • Il s'agit de la première version bêta de la version 1.2. Aucune modification n'a été apportée depuis la dernière version alpha.

Nouvelles fonctionnalités

  • Ajout de la compatibilité avec Kotlin 1.6.21

Version 1.2.0-alpha08

20 avril 2022

Publication d'androidx.compose.compiler:compiler:1.2.0-alpha08. Liste des commits de la version 1.2.0-alpha08.

Version 1.2.0-alpha07

6 avril 2022

Publication d'androidx.compose.compiler:compiler:1.2.0-alpha07. Liste des commits de la version 1.2.0-alpha07

Version 1.2.0-alpha06

23 mars 2022

Publication d'androidx.compose.compiler:compiler:1.2.0-alpha06. Liste des commits de la version 1.2.0-alpha06.

Version 1.2.0-alpha05

9 mars 2022

Publication d'androidx.compose.compiler:compiler:1.2.0-alpha05. Liste des commits de la version 1.2.0-alpha05

Version 1.2.0-alpha04

23 février 2022

Publication d'androidx.compose.compiler:compiler:1.2.0-alpha04. Liste des commits de la version 1.2.0-alpha04.

Version 1.2.0-alpha03

9 février 2022

Publication d'androidx.compose.compiler:compiler:1.2.0-alpha03. Liste des commits de la version 1.2.0-alpha03

Version 1.2.0-alpha02

26 janvier 2022

Publication d'androidx.compose.compiler:compiler:1.2.0-alpha02. Liste des commits de la version 1.2.0-alpha02

Version 1.2.0-alpha01

12 janvier 2022

Publication d'androidx.compose.compiler:compiler:1.2.0-alpha01. Liste des commits de la version 1.2.0-alpha01

Nouvelles fonctionnalités

  • Ajout de la compatibilité avec Kotlin 1.6.10

Version 1.1

Version 1.1.1

23 février 2022

Publication d'androidx.compose.compiler:compiler:1.1.1. Liste des commits de la version 1.1.1

Correction de bugs

  • Correction d'une exception NullPointerException dans androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList. (aosp/1947059, b/206677462)
  • Correction du plantage causé par le contenu du presse-papiers lors de la lecture du presse-papiers sur Android. (I06020, b/197769306)
  • Résolution du problème de lecture de droite à gauche dans LazyVerticalGrid. (aosp/1931080, b/207510535)

Version 1.1.0

9 février 2022

Publication d'androidx.compose.compiler:compiler:1.1.0. Liste des commits de la version 1.1.0

Modifications importantes depuis la version 1.0.0

  • Stabilisation de la prise en charge du défilement hors limites d'Android 12.
  • Améliorations apportées au dimensionnement des zones cibles tactiles.
  • Notez que, dans Compose 1.0, les composants Material développent leur espace de mise en page pour respecter les consignes d'accessibilité Material concernant la taille des zones cibles tactiles. Par exemple, la zone cible tactile minimale d'un bouton est de 48x48dp et sera étendue si le paramètre indique une dimension inférieure. Cela permet d'aligner la bibliothèque Compose Material sur le comportement des composants Material Design, pour plus de cohérence si vous combinez le système de vues et Compose. Cette modification garantit également que les conditions minimales requises pour l'accessibilité des zones cibles tactiles sont remplies lorsque vous créez votre UI à l'aide de composants Compose Material.
  • Stabilisation de la prise en charge du rail de navigation.
  • Reclassement d'un certain nombre d'API expérimentales en version stable.
  • Prise en charge des nouvelles versions de Kotlin.

Version 1.1.0-rc03

26 janvier 2022

Publication d'androidx.compose.compiler:compiler:1.1.0-rc03. Liste des commits de la version 1.1.0-rc03

Correction de bugs

  • Mise à jour pour assurer la compatibilité avec Compose Material 1.1.0-rc03

Version 1.1.0-rc02

16 décembre 2021

Publication d'androidx.compose.compiler:compiler:1.1.0-rc02. Liste des commits de la version 1.1.0-rc02.

Mises à jour des dépendances

  • Le compilateur Compose 1.1.0-rc02 est compatible avec la version 1.6.10 de Kotlin.

Version 1.1.0-rc01

15 décembre 2021

Publication d'androidx.compose.compiler:compiler:1.1.0-rc01. Liste des commits de la version 1.1.0-rc01

Modifications de la dépendance

  • Le compilateur Compose 1.1.0-rc01 est compatible avec la version 1.6.0 de Kotlin.
  • Une version 1.6.10 compatible est disponible via les Androidx.dev SNAPSHOT avec le buildId 8003490. L'extrait de dépendance suivant configure les SNAPSHOT pour le compilateur Compose :

    Ajoutez l'extrait suivant au fichier build.gradle racine de votre projet :

    buildscript {
        repositories {
            google()
            jcenter()
            maven { url 'https://androidx.dev/snapshots/builds/8003490/artifacts/repository' }
        }
    }
    

    Ajoutez l'extrait de code suivant dans le fichier build.gradle de votre application ou module qui utilise Compose :

    android {
        composeOptions {
            kotlinCompilerExtensionVersion = "1.2.0-SNAPSHOT"
        }
    }
    

Version 1.1.0-beta04

1er décembre 2021

Publication d'androidx.compose.compiler:compiler:1.1.0-beta04. Liste des commits de la version 1.1.0-beta04

Nouvelles fonctionnalités

  • Mise à jour pour assurer la compatibilité avec Kotlin 1.6.0

Version 1.1.0-beta03

17 novembre 2021

Publication d'androidx.compose.compiler:compiler:1.1.0-beta03. Liste des commits de la version 1.1.0-beta03

Version 1.1.0-beta02

3 novembre 2021

Publication d'androidx.compose.compiler:compiler:1.1.0-beta02. Liste des commits de la version 1.1.0-beta02.

Version 1.1.0-beta01

27 octobre 2021

Publication d'androidx.compose.compiler:compiler:1.1.0-beta01. Liste des commits de la version 1.1.0-beta01

Version 1.1.0-alpha06

13 octobre 2021

Publication d'androidx.compose.compiler:compiler:1.1.0-alpha06. Liste des commits de la version 1.1.0-alpha06.

Version 1.1.0-alpha05

29 septembre 2021

Publication d'androidx.compose.compiler:compiler:1.1.0-alpha05. Liste des commits de la version 1.1.0-alpha05.

Version 1.1.0-alpha04

15 septembre 2021

Publication d'androidx.compose.compiler:compiler:1.1.0-alpha04. Liste des commits de la version 1.1.0-alpha04.

Version 1.1.0-alpha03

1er septembre 2021

Publication d'androidx.compose.compiler:compiler:1.1.0-alpha03. Liste des commits de la version 1.1.0-alpha03

Nouvelles fonctionnalités

  • Le compilateur Compose est désormais compatible avec les anciennes versions de l'environnement d'exécution Compose (1.0). Avant cette modification, le compilateur Compose n'était compatible qu'avec l'environnement d'exécution Compose de la même version ou d'une version ultérieure. Après cette modification, le compilateur Compose est compatible avec une ancienne version de l'environnement d'exécution Compose (1.0). (aosp/1796968)
  • Mise à jour des dépendances Compose 1.1.0-alpha03 vers Kotlin 1.5.30. (I74545)

Version 1.1.0-alpha02

18 août 2021

Publication d'androidx.compose.compiler:compiler:1.1.0-alpha02. Liste des commits de la version 1.1.0-alpha02

Version 1.1.0-alpha01

4 août 2021

Publication d'androidx.compose.compiler:compiler:1.1.0-alpha01. Liste des commits de la version 1.1.0-alpha01

Version 1.0

Version 1.0.5

3 novembre 2021

Publication d'androidx.compose.compiler:compiler:1.0.5. Liste des commits de la version 1.0.5

Correction de bugs

  • Correction d'un plantage lié au suivi des instances de derivedStateOf. (aosp/1792247)

Version 1.0.4

13 octobre 2021

Publication d'androidx.compose.compiler:compiler:1.0.4. Liste des commits de la version 1.0.4

Mises à jour des dépendances

  • Mise à jour des dépendances vers Kotlin 1.5.31

Version 1.0.3

29 septembre 2021

Publication d'androidx.compose.compiler:compiler:1.0.3. Liste des commits de la version 1.0.3

Mises à jour des dépendances

  • Mise à jour des dépendances vers Kotlin 1.5.30

Version 1.0.2

1er septembre 2021

Publication d'androidx.compose.compiler:compiler:1.0.2. Liste des commits de la version 1.0.2

Mise à jour pour prendre en charge la version 1.0.2 de Compose. Compose 1.0.2 reste compatible avec Kotlin 1.5.21.

Version 1.0.1

4 août 2021

Publication d'androidx.compose.compiler:compiler:1.0.1. Liste des commits de la version 1.0.1

Mises à jour des dépendances

  • Mise à jour des dépendances vers Kotlin 1.5.21

Version 1.0.0

28 juillet 2021

Publication d'androidx.compose.compiler:compiler:1.0.0. Liste des commits de la version 1.0.0

Principales fonctionnalités de la version 1.0.0

Première version stable de Compose. Pour en savoir plus, consultez le blog officiel des publications de Compose.

Version 1.0.0-rc02

14 juillet 2021

Publication d'androidx.compose.compiler:compiler:1.0.0-rc02. Liste des commits de la version 1.0.0-rc02

Version 1.0.0-rc01

1er juillet 2021

Publication d'androidx.compose.compiler:compiler:1.0.0-rc01. Liste des commits de la version 1.0.0-rc01.

Version 1.0.0-beta09

16 juin 2021

Publication d'androidx.compose.compiler:compiler:1.0.0-beta09. Liste des commits de la version 1.0.0-beta09.

Version 1.0.0-beta08

2 juin 2021

Publication d'androidx.compose.compiler:compiler:1.0.0-beta08. Liste des commits de la version 1.0.0-beta08.

Version 1.0.0-beta07

18 mai 2021

Publication d'androidx.compose.compiler:compiler:1.0.0-beta07. Liste des commits de la version 1.0.0-beta07

Version 1.0.0-beta06

5 mai 2021

Publication d'androidx.compose.compiler:compiler:1.0.0-beta06. Liste des commits de la version 1.0.0-beta06.

Version 1.0.0-beta05

21 avril 2021

Publication d'androidx.compose.compiler:compiler:1.0.0-beta05. Liste des commits de la version 1.0.0-beta05

Version 1.0.0-beta04

7 avril 2021

Publication d'androidx.compose.compiler:compiler:1.0.0-beta04. Liste des commits de la version 1.0.0-beta04.

Version 1.0.0-beta03

24 mars 2021

Publication d'androidx.compose.compiler:compiler:1.0.0-beta03. Liste des commits de la version 1.0.0-beta03.

Version 1.0.0-beta02

10 mars 2021

Publication d'androidx.compose.compiler:compiler:1.0.0-beta02. Liste des commits de la version 1.0.0-beta02.

Version 1.0.0-beta01

24 février 2021

Publication d'androidx.compose.compiler:compiler:1.0.0-beta01. Liste des commits de la version 1.0.0-beta01

Première publication bêta de la version 1.0.0 de Compose.

Version 1.0.0-alpha12

10 février 2021

Publication d'androidx.compose.compiler:compiler:1.0.0-alpha12. Liste des commits de la version 1.0.0-alpha12.

Version 1.0.0-alpha11

28 janvier 2021

Publication d'androidx.compose.compiler:compiler:1.0.0-alpha11. Liste des commits de la version 1.0.0-alpha11.

Version 1.0.0-alpha10

13 janvier 2021

Publication d'androidx.compose.compiler:compiler:1.0.0-alpha10. Liste des commits de la version 1.0.0-alpha10.

Version 1.0.0-alpha09

16 décembre 2020

Publication d'androidx.compose.compiler:compiler:1.0.0-alpha09. Liste des commits de la version 1.0.0-alpha09.

Version 1.0.0-alpha08

2 décembre 2020

Publication d'androidx.compose.compiler:compiler:1.0.0-alpha08. Liste des commits de la version 1.0.0-alpha08.

Version 1.0.0-alpha07

11 novembre 2020

Publication d'androidx.compose.compiler:compiler:1.0.0-alpha07. Liste des commits de la version 1.0.0-alpha07.

Nouvelles fonctionnalités

  • Inférences et propagation de la stabilité. Le plug-in Compose Compiler analyse les types qu'il compile pour déterminer s'ils sont éligibles ou non à certaines optimisations par l'environnement d'exécution. Le résultat déduit est ensuite synthétisé sous forme de métadonnées sur la classe qui sera utilisée par le compilateur dans d'autres modules. De plus, le résultat de l'exécution de ces inférences est transmis dans les métadonnées transmises aux appels composables pendant la composition. Cela nécessitait un protocole de métadonnées différent pour les fonctions modulables, ce qui signifie que les fonctions modulables compilées avec le compilateur alpha07 ne seront pas compatibles avec les fonctions modulables compilées avec une version antérieure du compilateur. (aosp/1431988)

Version 1.0.0-alpha06

28 octobre 2020

Publication d'androidx.compose.compiler:compiler:1.0.0-alpha06. Liste des commits de la version 1.0.0-alpha06.

Version 1.0.0-alpha05

14 octobre 2020

Publication d'androidx.compose.compiler:compiler:1.0.0-alpha05. Liste des commits de la version 1.0.0-alpha05.

Version 1.0.0-alpha04

1er octobre 2020

Publication d'androidx.compose.compiler:compiler:1.0.0-alpha04. Liste des commits de la version 1.0.0-alpha04.

Refactorisation de androidx.compose:compose-compiler afin d'utiliser androidx.compose.compiler:compiler. Il s'agit de la première version dans le nouveau groupe.