XPEHO a testé Jetpack Compose

Actualités > Mobilité > XPEHO a testé Jetpack Compose
Catégories
EVAN MARTHO

Publié le :

Par EVAN MARTHO

Build better apps faster with Jetpack compose

https://xpeho.fr/

Chez XPEHO, nous aimons la mobilité. Comme dit dans notre dernier article (https://welovedevs.com/fr/articles/cicd-flutter-avec-github-actions-par-xpeho/), nous sommes en train de nous lancer dans le partage de connaissance à travers des meetups, publications de vidéos ou encore des articles.

Et voici le nouveau sujet étudié de notre équipe :

Jetpack Compose

Qu’est-ce que c’est ?

Jetpack Compose est un nouveau framework (de Google & JetBrains) qui est destiné à la création d’interfaces utilisateur pour les applications Android.

Il fonctionne exclusivement avec Kotlin et non Java.

Pourquoi ce framework ? Les interfaces ne sont plus pensées comme on pouvait le faire il y a 5/10ans. Android a évolué, l’expérience utilisateur également et la façon de développer aussi.

Jetpack Compose, contrairement à un développement classique Android, n’utilise pas de fichiers XML pour décrire l’interface de l’application. Chaque élément d’interface est développé par une fonction annotée par @Composable qui peut elle même faire appel à d’autres éléments de ce type.

Une autre différence notable, en dehors des éléments @Composable (Text par exemple) est la possibilité de prévisualiser le composant directement dans Android Studio (Coucou Flutter).

Pour plus d’informations, vous pouvez consulter la documentation : https://developer.android.com/jetpack/compose?gclid=Cj0KCQjww4OMBhCUARIsAILndv59Q0qxtaKBh9PBfvzwPB4q3n5C-O3XNkSyAGfkIncmVRGBunjDj7YaAvYAEALw_wcB&gclsrc=aw.ds

Les différences

MainActivity

A gauche, une Activity Android classique qui fait appel à son layout XML. A droite, une activity Jetpack Compose décrivant son interface uniquement via du code Kotlin.

Projet

La structure du projet n’est pas réellement différente. Seul manque à l’appel le dossier layout devenu inutile.

Composants/View

Avant, avec les layouts XML c’était toute la page qui était affichée en preview. Désormais, avec Jetpack Compose, vous avez la possibilité d’obtenir le rendu de chacune de vos vues de manière indépendante.

Les difficultés

Jetpack compose est un framework récent comme dit précédemment. Pour les développeurs, des technologies comme celle-ci donnent toujours envie. Mais on voit tout de suite les limites de la “jeunesse” du framework.

Il y a clairement un manque de communauté, ce qui est tout à fait normal, mais si vous êtes bloqué, retroussez-vous les manches car vous allez batailler pour régler votre problème.

Il n’y a pour l’instant que la documentation de Google qui est présente sur le web.

Autre remarque qu’on peut apporter, c’est l’impression que Google ne pousse pas réellement son framework sous les projecteurs pour justement faciliter ce développement de documentation par la communauté.

Néanmoins, nous pensons que cette techno a des atouts pour lui permettre d’être utilisée pour des projets personnels et professionnels à l’avenir avec:

  • la partie composant
  • le layout XML qui a été retiré
  • et surement des nouveautés encore à venir de la part de Google.

Un exemple complet

GitHub - XPEHO/YouCompose: A Youtube video listing app made with Jetpack Compose

On a créé une application qui liste des vidéos Youtube via son API avec Jetpack Compose. N’hésitez pas à allez y jeter un oeil, à vous en inspirer, a copier, améliorer. C’est cadeau !

Conclusion

Jetpack Compose est jeune.

Laissons lui le temps de mûrir, de continuer à pousser des nouveautés intéressantes, de corriger les choses qui ne sont pas encore prêtes, de se forger une communauté et une documentation beaucoup plus solide pour nous permettre de nous épanouir avec.

What’s next ?

Ce n’est que le début, on ne compte pas s’arrêter là. Les prochains sujets sont déjà dans notre bannette et nous prenons plaisir à les étudier pour vous les partager !

Links

Notre précédent article sur medium: https://medium.com/@xpeho.mobile/ci-cd-flutter-avec-github-actions-16aadab8d32d

Notre chaîne Youtube: https://www.youtube.com/channel/UCLTTq4X2MNS80sxpXfr01IA

Notre site officiel: https://xpeho.fr/

A propos de l’auteur

Evan Martho

Article rédigé par :

Evan MARTHO

Développeur mobile chez XPEHO

https://xpeho.fr/