Jetpack Compose est le kit d'outils moderne d'Android pour créer des UI natives. Il simplifie et accélère le développement d'interfaces utilisateur sur Android afin de concevoir vos applications avec moins de code, des outils puissants et des API en Kotlin intuitives. Il simplifie et accélère le développement d'interfaces utilisateur sur Android. Pour le développement de Compose, nous avons collaboré avec différents partenaires qui ont pu constater tous ces avantages et nous ont fait part de certaines de leurs découvertes.

du code allégé

L'allégement du code affecte toutes les étapes de développement. En tant qu'auteur, vous vous concentrez sur le problème en question, avec moins de tests et de débogage, et moins de risques de bugs. En tant qu'examinateur ou responsable de maintenance, vous avez moins de code à lire, comprendre, examiner et gérer.

Boutons, listes, animations, etc. Quelque soit l'élément d'interface créé, Compose vous permet d'en faire plus avec moins de code comparé au système Android View. Voici quelques témoignages de nos partenaires :

  • "Nous avons pu coder une même classe de boutons avec 10 fois moins de lignes." (Twitter)
  • "Nous avons également considérablement réduit le nombre d'écrans créés avec une RecyclerView, qui représentent la majorité de nos écrans." (Monzo)
  • "Nous avons été ravis de constater qu'il nous fallait peu de lignes pour créer des listes ou des animations dans notre application. Avoir à écrire moins de code par fonctionnalité nous permet de nous concentrer sur la création de valeur ajoutée pour nos clients." (Cuvva)

Le code est exclusivement rédigé en langage Kotlin, et non plus en Kotlin et en XML : "Il est beaucoup plus facile de tracer le code, car il est écrit dans le même langage et souvent dans le même fichier. Plus besoin de jongler entre le Kotlin et le XML" (Monzo)

Avec Compose, le codage est simple et facile à gérer, quel que soit votre projet. "Le système de mise en page de Compose est plus simple d'un point de vue conceptuel. Le code des composants complexes est également plus facile à lire." (Carré)

Intuitive

Compose utilise une API déclarative, ce qui signifie qu'il vous suffit de décrire votre interface utilisateur. Compose se charge du reste. Les API sont intuitives, faciles à découvrir et à utiliser : "Notre couche de thématisation est beaucoup plus intuitive et lisible. Dans un seul fichier en Kotlin, nous avons pu réaliser ce qui nécessitait auparavant plusieurs fichiers en XML, responsables de la définition des attributs et des attributions via plusieurs superpositions de thème." (Twitter)

Avec Compose, vous créez de petits composants sans état qui ne sont associés à aucune activité ni aucun fragment spécifiques. Ils sont ainsi faciles à réutiliser et à tester : "Nous nous sommes fixé pour objectif de proposer un nouvel ensemble de composants d'interface utilisateur qui étaient sans état, faciles à utiliser et à gérer, et faciles à implémenter/étendre/personnaliser. Compose nous a été d'une aide précieuse." (Twitter)

Dans Compose, l'état est explicite et transmis au composable. Ainsi, il n'existe qu'une seule source d'informations pour l'état, ce qui la rend encapsulée et découplée. Ensuite, lorsque l'état de l'application change, votre interface utilisateur est automatiquement mise à jour. "Il y a bien moins d'aspects à considérer lorsque vous concevez et bien moins de comportements incompréhensibles ou pouvant échapper à votre contrôle" (Cuvva)

Développement accéléré

Compose est compatible avec tout votre code existant : vous pouvez appeler le code Compose à partir du code Views et le code Views à partir du code Compose. La plupart des bibliothèques courantes, telles que les coroutines Navigation, ViewModel et Kotlin fonctionnent avec Compose. Vous pouvez ainsi les adopter quand et où vous le souhaitez. "Nous avons commencé à intégrer Compose avec les API Interoperability, et nous avons constaté que cela fonctionnait, tout simplement. Nous n'avons plus besoin de penser à certains aspects, comme aux modes clair et sombre, et l'expérience est incroyablement fluide." (Cuvva)

En tirant partie de la compatibilité totale d'Android Studio, par exemple avec les aperçus en direct, vous pouvez itérer et expédier votre code plus rapidement : "Les aperçus dans Android Studio représentent un vrai gain de temps, d'autant plus qu'il est possible d'en générer plusieurs. Nous devons souvent vérifier un composant d'interface utilisateur dans différents états ou avec différents paramètres (comme des états d'erreur ou une taille de police différente, etc.), et cela nous permet de le faire facilement."(Square).

Performances

Compose vous permet de créer des applications de qualité grâce à un accès direct aux API de la plate-forme Android et à la compatibilité intégrée avec Material Design, le thème sombre, les animations et plus encore : "Compose a également permis de résoudre bien plus que l'interface utilisateur déclarative : API d'accessibilité, mise en page, etc. toutes sortes de choses ont été améliorées. Il y a désormais moins d'étapes entre l'idée et la réalisation" (Square).

Avec Compose, il est bien plus facile de rendre vos applications plus dynamiques : "Les animations sont si faciles à ajouter dans Compose qu'il existe très peu de raisons de ne pas animer des changements tels que les changements de couleur, de taille ou d'élévation. (Monzo), "Vous pouvez créer des animations sans avoir à ajouter quoi que ce soit. Il s'agit d'un écran statique" (Square).

Qu'il s'agisse de Material Design ou de votre propre système de conception, Compose vous offre la flexibilité nécessaire pour implémenter la conception que vous souhaitez : "La séparation qui a été opérée entre Material Design et la fondation nous a été particulièrement utile, car nous avons créé notre propre système de conception dont les exigences sont souvent différentes de celles de Material." (Square)

Consultez des études de cas détaillées pour en savoir plus sur la façon dont Twitter, Square, Monzo et Cuvva ont tiré parti de Compose.