A l’occasion de la Google I/O, Google a annoncé un nouveau projet appelé Android Jetpack. Il s’agit tout simplement du renommage des composants de la support library.

La Google I/O est avant tout une conférence dédiée aux développeurs. L’année dernière, le langage Kotlin était notamment officialisé comme alternative au Java. Cette année il n’y aura certes pas un changement aussi important, mais les nouveautés seront tout de même synonymes de transformations pour les développeurs Android.

Les support libraries deviennent les Android extension libraries

Une grande partie des applications présentes sur votre téléphone utilisent ce que l’on appelle les support libraries. Concrètement Google est conscient que les développeurs doivent gérer de nombreuses versions d’Android et les support libraries ont avant tout pour objectif de rétro-porter les nouvelles fonctionnalités du système sur les plus anciennes. Un bon exemple est le Material Design qui n’était pas disponible sur Android 4.x.

Cette support library n’est pas nouvelle puisqu’elle a débuté il y a plus de 7 ans maintenant. L’historique fait qu’aujourd’hui les développeurs se perdent entre les v4, v7, v13… C’est ainsi qu’il ne faudra désormais plus les appeler support libraries, mais Android extension libraries (ou AndroidX).

Les fonctionnalités n’évoluent pas, mais le package name va être plus clair : androidx.** au lieu de android.support.**. Il en sera de même pour les Architecture Components. Autre changement : les support libraries qui évoluaient selon le numéro de version d’Android (27 pour Android Oreo 8.1), vont désormais repasser sous une numérotation classique de type 1.0.0.

Mais qu’est-ce que JetPack ?

Google a rapidement évoqué Android Jetpack pendant sa keynote, rendant le concept quelque peu obscur. Au final, Android Jetpack ne représente ni plus ni moins que les différents composants des Android extension libraries et certaines de ses extensions. Cela paraît peu clair, mais c’est pourtant le même ensemble d’outils qui a plus ou moins le même nom.

Au sein d’Android Jetpack, nous allons retrouver quatre grands types d’outils : les fondations, l’architecture, le comportement et la partie graphique. Tout cela se matérialise par les très connus AppCompat, Android KTX, la gestion du multidex, les éléments relatifs aux Architecture Components, Android TV…

Toutefois plusieurs nouveautés sont au programme :

  • WorkManager qui permet de gérer des jobs s’exécutant en arrière-plan
  • Slices qui permettent d’afficher des portions de l’interface dans la recherche notamment
  • L’API Paging passe en version stable
  • Un nouveau framework permettant de gérer la navigation

WorkManager ?

En rentrant un peu plus dans le détail, le WorkManager fait énormément penser au JobScheduler introduit avec Android Lollipop, puisqu’il consiste à planifier une tâche en fonction de critères (exemple : lancer une tâche lorsque le téléphone est branché sur le secteur et dispose d’une connexion Internet stable).

Il est toutefois plus puissant, puisqu’il s’appuie sur le Firebase JobDispatcher et l’AlarmManager. Contrairement aux Jobs du JobScheduler, le WorkManager permet de chaîner plusieurs tâches les unes à la suite des autres automatiquement ou encore de vérifier l’état d’exécution de la tâche.

Gérer la navigation plus facilement

Grâce à un nouveau composant nommé Navigation Architecture Component, les développeurs vont pouvoir simplifier l’implémentation de la navigation dans leurs applications. En ajoutant du code très simple et grâce à Android Studio, l’ordre d’apparition des écrans pourra évoluer d’un simple clic. Les tests devraient ainsi être plus aisés dans le processus de développement.

 

Ce qu’il faut retenir est que certes les diverses support libraries vont être renommées en Android extension libraries, mais il faudra parler d’AndroidX et de ses extensions sous le nom d’Android Jetpack.

À lire sur FrAndroid : Android P : avec les Slices, nos applications s’intègrent à l’écosystème Google