Nouveautés produit

Célébrer les cinq ans de Jetpack Compose

Temps de lecture : 4 min

Aujourd'hui, nous célébrons officiellement les cinq ans de la sortie de Jetpack Compose 1.0. Depuis la version 1.0, annoncée le 28 juillet 2021, jusqu'à notre dernière version 1.11, les API ont considérablement évolué au fil des ans. Nous souhaitons donc prendre le temps de célébrer cette évolution.

Lorsque nous avons officiellement annoncé la version 1.0, nous avons promis une façon plus simple, plus rapide et plus intuitive de créer des interfaces natives sur Android. Avec le recul, on peut affirmer que Compose n'a pas seulement tenu cette promesse, mais qu'il a également complètement transformé l'écosystème Android. Plus de 68% des 1 000 premières applications l'utilisent aujourd'hui en production. 

Historique

Au cours des cinq dernières années, Compose a connu une croissance constante. Au début, nous vous avons montré comment créer des mises en page avec les éléments de base Box, Row et Column. Aujourd'hui, nous avons étendu Compose pour qu'il fonctionne non seulement sur les appareils mobiles, mais aussi sur d'autres facteurs de forme tels que Compose pour TV, WearOS, Glance pour Widgets et même les lunettes connectées avec Jetpack Compose Glimmer. 

jetpack_compose_everywhere.png

Nous avons enregistré un épisode d'Android Developers Backstage avec Clara Bayarri, responsable de l'ingénierie pour Jetpack, et deux anciens responsables de l'équipe, Romain Guy et Chet Haase, ainsi que Tor Norbye, directeur de l'ingénierie. Dans cet épisode, ils reviennent sur l'histoire de Compose et les débuts du développement.

timeline.png
Temps forts de Compose au fil des années

Retour en arrière

Les débuts de Compose étaient très différents de ce que vous connaissez aujourd'hui. Deux projets étaient menés en parallèle au sein de l'équipe Android. 

À l'époque, l'équipe du kit d'outils Views envisageait de dégrouper le kit d'outils d'interface utilisateur en une bibliothèque pour accélérer le développement et permettre aux développeurs d'adopter et de contrôler plus facilement les mises à jour. Parallèlement, une équipe travaillait sur une nouvelle idée pour créer des mises en page déclaratives en intégrant du code XML dans Kotlin, ce qui ressemblait à ceci :

jetpack_compose_early_code.png

Ces deux efforts ont fusionné pour produire ce que vous connaissez aujourd'hui : un kit d'outils d'UI entièrement déclaratif qui exploite la puissance d'un plug-in de compilateur, d'un environnement d'exécution et de Kotlin :

@Composable
fun Newsfeed(stories: List<Story>) {
    LazyColumn {
        items(stories) { story ->
            Card {
                val author = story.author
                Image(painterResource(author.profilePhoto),
                    contentDescription = author.name)
                Text(author.name)
                Text(story.content)
                if (story.hasCommentsEnabled()) {
                    for(comment in story.comments) {
                        Text(comment.mainContent)
                    }
                }
            }
        }
    }
}

Et vous, la communauté, nous avez aidés très tôt ! Avant 2021, Compose disposait d'une phase de pré-alpha, qui a permis de s'assurer que Compose était adapté pour résoudre les problèmes de nos développeurs.

L'Android Dev Challenge est l'un de nos meilleurs souvenirs. Nous avons demandé à la communauté de créer quatre tâches différentes avec Compose, ce qui a rempli nos flux d'applis de chiots, d'horloges et de météo, et nous a permis de recueillir de nombreux commentaires directs qui ont contribué à façonner la version 1.0.

Compose a continué d'évoluer, passant d'un ensemble de composants Material 2 à la prise en charge de Material 3 Expressive.

material2.png
Material 2 dans Compose

Perspectives d'avenir

Aujourd'hui, Compose 1.11 est la dernière version (la version 1.12 sera bientôt disponible). Elle offre beaucoup plus de fonctionnalités que la version 1.0, sortie il y a cinq ans. Cette année, nous avons introduit des API plus adaptatives, telles que FlexBox, Grid, MediaQuery et Styles. Ces API vous permettent de passer au niveau supérieur du développement d'UI premium et adaptatives avec Compose. 

Lors de Google I/O 2026, nous avons annoncé que nous étions désormais Compose-first. Cela signifie que tout le développement futur de l'UI se fera uniquement dans Compose, tandis que la boîte à outils Views passera en mode maintenance. Material Design se concentre désormais entièrement sur Compose, ce qui marque la fin de findViewById era. 

La communauté est au cœur de Compose 

Au fil des ans, vous nous avez inspirés avec des exemples créatifs de votre utilisation de Compose. Nous aimerions vous présenter quelques exemples supplémentaires de projets intéressants que nous avons vus. JetBrains est un excellent partenaire de Google avec Compose. Il a étendu Compose pour qu'il fonctionne sur plusieurs plates-formes avec Compose Multiplatform et a permis aux développeurs d'applications pour ordinateur, iOS et le Web de profiter également des avantages de Compose.  

Nous avons beaucoup apprécié de suivre nos newsletters préférées,  de Dispatch de JetpackCompose.app à AndroidWeekly en passant par jetc, qui aident les développeurs Android à se tenir au courant des dernières nouveautés dans le monde de Compose et d'Android. 

sinasamaki est un autre contributeur remarquable. Ils ont créé de nombreuses expériences intéressantes à l'aide de Compose, comme ce modificateur de ruban amusant et cet effet de glitch :

ribbon_modifier_sinasamaki.gif

Saket Narayan a toujours été une source d'inspiration pour la création d'outils utiles pour Compose, comme telephoto, une bibliothèque qui prend en charge les gestes de déplacement et de zoom, ainsi que le sous-échantillonnage automatique des grandes images, ou la dernière bibliothèque, Touch Robot, qui vous permet de tester facilement les animations d'interaction :

paparazzi.gif(end = 3_000) {
  DebitCard(
    Modifier.testTag("card")
  )

  val touchRobot = rememberTouchRobot()
  LaunchedEffect(Unit) {
    touchRobot.onNode(hasTestTag("card")).performGesture {
      draw(
        path = createAndroidHeadPath(),
        duration = 3.seconds,
      )
    }
  }
}

/** A path drawing the Android head. */
fun createAndroidHeadPath(bounds: Rect): Path = TODO()
saket_touch_robot.gif

Jake Wharton, qui a utilisé Compose de manière innovante (comme molecule et même pour créer des UI avec Compose pour le terminal avec mosaic). Chris Banes, qui a créé de nombreuses bibliothèques Compose au fil des ans, dont notre préférée la plus récente, Haze pour le flou d'arrière-plan, et de nombreux Android Google Developer Experts comme Akshay Chordiya, Huyen Tue Dao et Katie Barnett, qui ont contribué au succès de Compose. Mais il ne s'agit pas de sélectionner des personnes en particulier. De nombreux contributeurs ont participé au codebase Compose, et beaucoup d'entre vous continuent de nous inspirer avec vos exemples amusants, vos bibliothèques et vos conférences approfondies. Sans la communauté, Jetpack Compose n'aurait pas connu le succès qu'il connaît aujourd'hui. 

À vos cinq prochaines années, et plus encore ! 

Jetpack Compose est passé d'une idée expérimentale à la norme pour le développement d'UI Android. Merci à toute l'équipe Toolkit de Google, ainsi qu'à l'incroyable communauté mondiale de développeurs qui ont écrit des bibliothèques, signalé des bugs et repoussé les limites de ce que l'UI déclarative peut faire. 

Cette semaine, nous allons célébrer cet anniversaire en organisant des fêtes en présentiel dans le monde entier et une fête en direct sur la chaîne YouTube Android Developers le 30 juillet à 13h00 UTC.  Pendant ce temps, nous discuterons de Compose et répondrons à vos questions !

À vos cinq prochaines années, et bonne composition !

Écrit par :
Continuer la lecture