Johanna n'a malheureusement plus assez de temps pour s'occuper de la newsletter, par conséquent je vais désormais m'en occuper en parallèle de la newsletter Flutter et podcast DevCafé. Je ferai de mon mieux pour vous proposer régulièrement cette infolettre, mais n'hésitez pas à partager des ressources si vous trouvez des pépites dans votre veille.
Mais qui est ce "je" ? Oui, car depuis tout à l'heure, "je" parle à la première personne, sans m'être présenté. Je suis Edouard Marquez, développeur Android depuis bien quelques années (je crois que je n'ai plus assez de mes dix doigts pour compter) et vous avez pu me voir à l'organisation du Paris Android User Group ou d'Android Makers.
Bref j'espère que cette newsletter en mode "la même, mais en différent" vous comblera ! Et un grand merci à Johanna pour les 15 premiers numéros de cette newsletter !
Après plusieurs mois en gestation, Google vient de finaliser la version 12L d'Android. Désormais connue sous le nom d'Android 12.1, elle devrait prochainement arriver sur les smartphones et tablettes.
Quoi de neuf ? Honnêtement, pour nous, développeurs, il n'y a pas grand-chose à se mettre sous la dent. Il s'agit essentiellement d'une version dédiée aux utilisateurs (un peu comme au temps d'Android 3.0). On note l'apparition d'un dock sur le bas de l'écran, l'utilisation de gestes pour rapidement faire du multitâche… bref de quoi combler le retard pris pour les écrans pliables/pliants.
Et pour nous ? Certes, il n'y a pas d'énormes changements dans les APIs. Pourtant, on peut noter l'arrivée d'une classe Spatializer qui permettra aux jeux, expériences en réalité virtuelle et applications, de fournir une simulation de spatialisation audio. Et, c'est à peu près tout ! À l'époque de la DP1, Mark L. Murphy avait publié ses "Random Musings", mais il n'avait rien noté d'exceptionnel.
Dans un billet publié sur le blog officiel des développeurs Android, Google a annoncé que la prochaine version de Bundletool allait permettre la génération de nouveaux types d'APKs : les "archived APK".
Mais késako les Archived APK ? En réalité, il n'y a pas besoin d'attendre la prochaine version de l'outil pour tester cette fonctionnalité, comme l'a démontré le blog Esper.io. En effet, la commande Bundletool, qui aide à générer les App Bundles, dispose d'un argument --mode=archive depuis quelques versions déjà. Une fois l'APK ouverte, on découvre alors un Android Manifest simplifié et le strict minimum, en termes de code et ressources.
Dans quel but ? L'idée de ces APKs archivables est de pouvoir permettre aux utilisateurs de conserver les données locales même lorsque l'application est désinstallée. En effet, aujourd'hui, une désinstallation signifie une perte totale des données (à moins qu'un système de backup soit mis en place). L'idée serait à priori de faire comme sur iOS, à savoir, permettre la désinstallation de l'application, tout en conservant les données de l'utilisateur.
On peut tester ? Oui… et non. Il est certes possible de générer des archived APKs, mais il n'est pas encore possible de les utiliser concrètement. Google est d'ailleurs très flou quant à la disponibilité de la fonctionnalité, mais l'indication de la fin de l'année semble démontrer qu'elle arrivera simultanément avec Android 13. Reste à savoir, toutefois, si un tel mécanisme pourra être rétro-compatible.
Le reste de l'actualité en bref
⏫ Une nouvelle version bêta d'Android Studio Chipmunk est disponible et vient essentiellement corriger des bugs.
🖥️ Les applications Android peuvent fonctionner sur Windows 11 depuis quelques semaines déjà, mais Microsoft instaure déjà des changements structurels. Dans une nouvelle version de Windows 11 dédiée aux Insiders, on note certes le support du décodage des vidéos H.264 avec accélération matérielle, mais la couche réseau a été en grande partie modifiée et l'entreprise américaine attend vos retours. D'autres modifications sont documentées dans leur billet d'annonce.
La réalisation de cette newsletter nous prend plusieurs heures chaque semaine.
Vous voulez soutenir Android Croissants ð en donnant à partir d’un euro sur Tipee ?
En contrepartie : vous n’aurez jamais de pub et vous recevrez la newsletter en avant première !
Il est désormais recommandé d'utiliser Flow, plutôt que les LiveData. Mais un des avantages de ces derniers était la transformation aisée des résultats transmis. Dans cet article, vous verrez comment parvenir à la même chose… mais avec Flow !
Utilisez-vous correctement les annotations @Immutable et @Stable avec Jetpack Compose ? Si vous n'en êtes pas certain, cet article devrait vous mettre sur la bonne voie et vous permettre de tirer parti des optimisations qui en découlent.
Les CompositionLocal font certes partie des APIs de Jetpack Compose, mais peut-être ne les avez-vous jamais utilisés. Sans rentrer dans les détails, ils permettent de partager facilement des valeurs, sans avoir à les passer de manière explicite à vos Composables. Si vous voulez en savoir plus sur leur usage, cet article devrait éclairer votre lanterne !
Nul besoin de vous faire les louanges de Jetpack Compose, tant il apporte un vent de fraîcheur au développement Android. Parmi les changements, on retrouve la possibilité de visualiser rapidement les modifications grâce aux "preview", mais saviez-vous qu'il existe aussi une annotation @PreviewParameter ? Son nom est plutôt significatif, mais un article vous expliquant son intérêt est toujours le bienvenu !
Vous allez probablement me dire que c'est une thématique que vous avez lue et relue des dizaines de fois. Mais dans cet exemple concret, les développeurs de l'application Gojek expliquent que tout n'a pas coulé sous le sens, et qu'ils ont dû chercher par eux-mêmes pourquoi certaines ressources étaient conservées, alors qu'elles n'auraient pas dû l'être.
L'une des nouvelles fonctionnalités d'Android 13 est de fournir la possibilité aux utilisateurs de choisir la langue, non plus au niveau du système, mais pour chaque application. Concrètement, il ne devrait pas y avoir de modifications à faire pour vos applications… sauf si vous voulez permettre à vos utilisateurs de le faire directement dans votre interface à l'aide d'Appcompat 1.6.x.
Gabriel Peal, ex-employé chez Google, a écrit un article autour de l'injection de dépendances sur Android. Hilt étant plus ou moins la solution de choix désormais, il paraît assez étonnant de le voir parler de Dagger. Mais dans cet article, il explique pourquoi Dagger combiné avec Anvil est une meilleure alternative à ses yeux.
Cette bibliothèque vous permet de mettre en avant certaines parties de l'interface graphique. Pas particulièrement nouveau comme concept, Intro Showcase View se distingue par le fait qu'elle soit entièrement développée avec Jetpack Compose.
Initialement prévu pour un lancement en février, Google ne commencera qu'à partir du mois d'avril à afficher les informations sur la sécurisation des données (data safety) aux utilisateurs du Google Play : essentiellement comment sont traitées puis sauvegardées les données. Vous aurez alors jusqu'au 20 juillet pour vous mettre en règle, sans quoi vos applications pourraient être supprimées. Afin de vous faciliter la tâche, cet outil va scanner votre code dans le but de trouver toutes les données personnelles manipulées et vous aider à remplir la fameuse fiche.