Android Jetpack, que Google a lancé lors de sa conférence des développeurs I / O 2018, est un ensemble de composants permettant d'accélérer le développement d'applications. Considérez-le comme le successeur de Support Library, un ensemble de composants qui facilite l'exploitation des nouvelles fonctionnalités Android tout en maintenant la compatibilité descendante. Jetpack Compose, que Google a présenté pour la première fois lors de sa conférence des développeurs I / O 2019, est une boîte à outils dégroupée destinée à simplifier le développement de l'interface utilisateur en combinant un modèle de programmation réactif avec Kotlin. En juin, Google a promis que Jetpack Compose serait lancé en alpha cet été et atteindrait la version 1.0 l'année prochaine. Il s’agit donc du premier pas vers cette direction.
by Karen Ng, Director Product Management, a déclaré :
« Peu importe d’où vous travaillez, que ce soit sur votre table de cuisine ou sur votre bureau, nous savons que vous avez besoin d'un langage de programmation, d'un IDE et d'une puissante infrastructure d'interface utilisateur qui peuvent vous faire gagner du temps et réduire la quantité de code à écrire. Nous avons donc créé Jetpack Compose pour vous rendre (nous également!) plus productifs dans la création d’interfaces utilisateur.
« Nous avons commencé par Android Jetpack, en prenant les problèmes de développement les plus difficiles et les plus courants sur Android et en créant une suite de bibliothèques qui garantissent des applications de haute qualité qui fonctionnent sur toutes les versions de la plateforme. Aujourd'hui, 84% des 10 000 meilleures applications du Play Store utilisent une bibliothèque Jetpack.
« Ensuite, nous avons entendu comment les développeurs aiment Kotlin, avec plus de 70% des 1000 meilleures applications et 60% des développeurs Android professionnels utilisant Kotlin aujourd'hui. L'application Google Home a connu, dans certains cas, une réduction de 80% des lignes de code grâce à l'utilisation de Kotlin et une diminution de NullPointerExceptions de 33% par rapport à une période antérieure similaire. Duolingo, a vu le nombre de lignes réduit de 30% en moyenne.
« Enfin, nous avons entendu de vifs retours de la communauté selon lesquels les développeurs apprécient la simplicité des API déclaratives pour créer une interface utilisateur. Jetpack Compose combine ces trois éléments : des API pour des applications de haute qualité à grande échelle, un langage intuitif et un modèle de programmation réactif. »
Google explique que « Jetpack Compose Alpha a tout ce dont vous avez besoin pour créer des applications Android à part entière, y compris des outils puissants et une interopérabilité avec les vues Android existantes afin que vous n'ayez pas besoin de réécrire votre application. Les API Compose sont conçues et développées main dans la main avec un ensemble d'exemples d'applications canoniques utilisant la conception de matériaux que nous sommes ravis de publier aujourd'hui! Vous pouvez également importer et explorer les derniers exemples directement dans Android Studio ».
La version alpha comprend:
- Des animations.
- Constraint Layout.
- Prise en charge initiale du A11Y.
- Saisie et gestes.
- Interopérabilité avec les vues (commencez à mélanger les fonctions composables dans votre application existante).
- Lazy Lists.
- Composants Material UI.
- Optimisations des performances.
- Des tests.
- Du texte modifiable.
- Des thèmes et graphismes.
- La gestion des fenêtres.
En parlant d'Android Studio, Google a mis à jour la version 4.2 Canary avec l'équipe Jetbrains Kotlin pour aider à créer des applications avec Compose. Les améliorations incluent un plug-in de compilateur Kotlin pour la génération de code, des Compose Preview Annotations, des aperçus interactifs Compose en temps réel, le déploiement de composables individuels sur n'importe quel appareil, la complétion Compose Code et une API Sample Data pour Compose.
Jetpack Compose dans Android Studio est conçu pour vous aider à parcourir rapidement l'interface utilisateur de votre application. Vous pouvez prévisualiser vos composants Compose au fur et à mesure de la création sans avoir à déployer votre application sur un appareil ou un émulateur. Pour créer un aperçu de la mise en page, écrivez une fonction composable qui ne prend aucun paramètre et ajoutez l'annotation @Preview.
Vous pouvez également déployer un seul composable sur votre appareil physique ou votre émulateur Android. Android Studio crée une nouvelle activité contenant l'interface utilisateur générée par cette fonction et la déploie sur votre application sur l'appareil. Cela vous permet d'essayer l'interface utilisateur sur un appareil réel sans avoir à réinstaller toute l'application ou à accéder à son emplacement.
Penser en Compose
Compose utilise un modèle de programmation très différent du modèle existant de création d'interfaces utilisateur sur Android. Historiquement, une hiérarchie de vues Android a été représentée comme une arborescence de widgets d'interface utilisateur. À mesure que l'état de l'application change, la hiérarchie de l'interface utilisateur doit être mise à jour pour afficher les données actuelles. Le moyen le plus courant de mettre à jour l'interface utilisateur est de parcourir l'arborescence à l'aide de fonctions telles que findViewById() et de modifier les nœuds en appelant des méthodes telles que button.setText(String),container.addView(View) ou img.setImageBitmap(Bitmap)
Ces méthodes modifient l'état interne du widget. Non seulement cela peut être fastidieux, mais la mise à jour manuelle des vues augmente le risque d'erreurs (par exemple, oublier de mettre à jour une vue).
Jetpack Compose est une approche entièrement déclarative basée sur des composants, ce qui signifie que vous décrivez votre interface utilisateur comme des fonctions qui transforment les données en une hiérarchie d'interface utilisateur. Lorsque les données sous-jacentes changent, la structure Compose met automatiquement à jour la hiérarchie de l'interface utilisateur pour vous, ce qui facilite la création d'interfaces utilisateur facilement et rapidement.
Interopérabilité complète avec les vues Android existantes
L'adoption d'un nouveau framework est un grand changement pour les projets et bases de code existants, c'est pourquoi Google a conçu Compose pour être aussi facile à adopter que Kotlin - il est totalement interopérable avec le code Android existant, dès le premier jour.
La migration vers Compose dépend de vous et de votre équipe. Si vous créez une nouvelle application, la meilleure option peut être d'implémenter l'intégralité de votre interface utilisateur avec Compose. Google est conscient du fait que de nombreux utilisateurs ont de grandes bases de code existantes, donc plutôt que de réécrire votre application, vous pouvez combiner Compose avec votre conception d'interface utilisateur existante.
Il existe deux façons principales de combiner Compose avec une interface utilisateur basée sur la vue:
- Vous pouvez ajouter des éléments de Compose dans votre interface utilisateur existante, soit en créant un écran entièrement nouveau basé sur Compose, soit en ajoutant des éléments de Compose dans un fragment ou une disposition de vue existant.
- Vous pouvez ajouter un élément d'interface utilisateur basé sur la vue dans vos fonctions composables. Cela vous permet d'ajouter des widgets non-Compose, tels que MapView ou WebView, dans une conception basée sur Compose.
Les approches low-code et no-code du développement de logiciels semblent être à la mode. Des startups aux grandes enseignes de la technologie, tout le monde essaie de faciliter la tâche de développeur. Il n'est donc pas surprenant de voir Google chercher à faciliter le développement de sa plus grande plateforme (Android comptait plus de 2,5 milliards d'appareils actifs par mois en mai 2019).
Source : Google
Et vous ?
Que pensez-vous de l'approche proposée par Jetpack Compose ?
Voulez-vous l'essayer ?