Android 7.0 pour les développeurs : nouvelles fonctionnalités, améliorations des performances et autres éléments dont vous ne vous souciez pas

Publié: 2022-03-11

Google a officiellement annoncé Android 7.0 Nougat il y a quelques semaines, mais comme d'habitude, il faudra patienter. La plupart des utilisateurs ne recevront pas leurs mises à jour en direct (OTA) avant le début de l'année prochaine. Beaucoup d'autres les recevront une semaine après jamais, car certains fournisseurs d'appareils ne s'en soucient tout simplement pas.

Cela peut sembler être une de mes bêtes noires, mais la fragmentation d'Android n'est pas une blague ; cela a été un sérieux casse-tête pour les utilisateurs et les développeurs pendant des années. Android 7.0 ne résoudra pas ce problème, ce qui est dommage car il permet un certain nombre de nouvelles fonctionnalités et d'améliorations des performances que les utilisateurs apprécieront sûrement.

Les développeurs ne doivent cependant pas espérer ; il n'y a pas de changeurs de jeu ici. Examinons les ajustements clés sous le capot d'Android et les nouvelles opportunités qu'ils présentent, du plus au moins impactant.

  1. Nouveau compilateur JIT, complétant le compilateur AOT existant d'ART
  2. Prise en charge de plusieurs fenêtres
  3. Prise en charge de l'API Vulkan
  4. Démarrage direct
  5. Réponse directe et notifications groupées
  6. Mode de réalité virtuelle (VR) Daydream
  7. Interface utilisateur, ajustements d'accessibilité et optimisation de l'arrière-plan

Ceci n'est évidemment pas une liste exhaustive de toutes les nouvelles fonctionnalités ; Je me suis fixé sur les sept premiers. Vous pouvez obtenir un aperçu détaillé d'Android 7.0 si vous vous dirigez vers le paradis des développeurs de Google. Je vais vous épargner les peluches inutiles et vous fournir des informations utiles sous une forme condensée et facile à digérer.

1. Nouveau compilateur JIT, compilation guidée par profil

La compilation JIT est de retour, et bien que cela puisse ressembler à un retour à l'époque de Dalvik, ce n'est pas le cas. Cette fois-ci, Google a ajouté un compilateur JIT avec profilage de code à ART, pour compléter le compilateur AOT existant d'ART. Et la compilation guidée par profil est le mot à la mode du jour.

Un grand avantage pour l'utilisateur : les applications volumineuses, qui prenaient auparavant quelques minutes à installer, ne prennent désormais que quelques secondes.

ART crée un profil pour les méthodes à chaud de chaque application et les différentes conditions de l'appareil. Il peut précompiler des méthodes à chaud pour offrir des performances optimales, réduire l'utilisation de la RAM, réduire la consommation d'énergie, etc.

Compilateur JIT et AOT dans Android 7.0

Android 7.0 : nouvelles fonctionnalités, améliorations des performances et autres choses dont vous ne vous souciez pas.
Tweeter

Un avantage supplémentaire est la vitesse des installations et des mises à jour. Étant donné que le profilage signifie qu'il n'y a pas d'étape d'optimisation, Google affirme même que les grandes applications, qui ont pris quelques minutes à installer sur Android 6.0, peuvent désormais être installées ou mises à jour en quelques secondes. Sur une note personnelle, j'espère que cela s'applique également à World of Tanks Blitz, car c'est le seul jeu Android qui vaut mon temps.

Au cours des deux dernières années, de nombreux progrès ont été réalisés dans le stockage mobile. De nombreux appareils de la génération actuelle utilisent un stockage UFS 2.0 rapide, qui offre une amélioration significative des performances par rapport au stockage eMMC d'antan. Android 7.0 devrait permettre aux ingénieurs logiciels de tirer pleinement parti de cette nouvelle norme de stockage et de débloquer des performances encore meilleures.

Consultez l'un de mes articles de blog précédents pour découvrir plus en détail ce que les plans de compilateur de Google signifient pour les développeurs Android.

Impact sur les développeurs : la compilation guidée par profil devrait permettre des gains de performances et d'efficacité supérieurs. Les installations et les mises à jour seront beaucoup plus rapides et, grâce à la documentation complète de Google, la mise en œuvre devrait être relativement facile. Moins d'attente pour tout le monde. C'est une bonne chose.

2. Prise en charge de plusieurs fenêtres

Attendez une seconde, n'avons-nous pas déjà vu des fonctionnalités multi-fenêtres sur Android ? Oui et non; certains forks offraient un support multi-fenêtres, mais maintenant c'est natif. Il existe deux implémentations d'écran partagé : côte à côte et l'une au-dessus de l'autre . C'est plus ou moins standard quand il s'agit d'appareils mobiles, mais malheureusement, je n'ai pas encore eu l'occasion de l'essayer.

Prise en charge multi-fenêtres d'Android 7.0

Et, pour être honnête, je n'ai jamais été fan de la fonctionnalité multi-fenêtres sur les appareils mobiles, car la plupart des utilisateurs n'en ont tout simplement pas besoin.

Cependant, il ne s'agit pas seulement de smartphones. Google travaille également discrètement sur des offres de télévision intelligente, de sorte que la prise en charge multi-fenêtres s'étendra également à ces appareils, mais avec une torsion. Avec plus d'espace d'affichage avec lequel jouer, les créateurs d'applications pourront utiliser le mode image dans l'image sur les téléviseurs, et certaines fonctionnalités seront spécifiques au fournisseur. Les vendeurs pourront décider d'activer ou non le mode forme libre . Cela signifie que les fournisseurs de phablets, tablettes et autres appareils surdimensionnés avec de grands écrans pourraient permettre aux utilisateurs de jouer avec la taille et la position de la fenêtre, ce qui ressemble à l'approche de Microsoft, d'abord implémentée sur Windows 8.x.

Impact sur les développeurs : la prise en charge de plusieurs fenêtres ne change pas la donne, mais elle offrira une opportunité immédiate sur les tablettes Android et les téléviseurs intelligents, ces derniers obtenant également l'image dans l'image et la possibilité d'enregistrer des vidéos. Le problème? Les téléviseurs Android ne sont pas très courants et les tablettes Android n'ont jamais été très populaires, en particulier en ce qui concerne les applications de productivité qui ont le plus à gagner de la prise en charge multi-fenêtres.

Et qui sait? Peut-être qu'un développeur très brillant créera une application pour smartphone qui en tirera parti. Je ne retiendrai pas mon souffle.

3. API Vulkan

Il s'agit d'une autre mise à jour potentiellement puissante sous le capot. Bien sûr, cela ne suscitera pas autant l'intérêt de la presse et des consommateurs que des fonctionnalités plus fantaisistes, mais ne vous y trompez pas : l'API Vulkan est un gros problème.

Si vous l'avez manqué, l'API Vulkan est une nouvelle API à faible surcharge et proche du métal pour les unités de traitement graphique (GPU). Et pas seulement pour les jeux 3D, mais aussi pour le calcul GPU. Fondamentalement, c'est la suite d'OpenGL et devrait permettre des performances supérieures sur les processeurs multithreads ainsi qu'une compatibilité multiplateforme. Cela devrait également permettre d'économiser des milliers d'heures de travail dans le développement des pilotes.

Alors pourquoi ne fait-il pas plus de buzz ? Eh bien, c'est une nouvelle norme et l'introduction d'une toute nouvelle API graphique prend généralement quelques années. C'est pourquoi les consommateurs ne s'en soucient pas et pourquoi les développeurs Android devraient s'en soucier .

Et maintenant, nous attendons ... Le support de l'API Vulkan peut ne pas sembler important maintenant, mais dans quelques années, il sera énorme.

Pour en savoir plus sur l'implémentation de Vulkan dans Android 7.0, lisez la présentation complète de l'API Vulkan que j'ai écrite plus tôt cette année ou consultez les ressources de développement de Google.

Impact sur les développeurs : le temps de l'API Vulkan viendra. Cela réduira la surcharge du processeur, augmentant ainsi les performances du GPU et réduisant la consommation d'énergie dans les jeux 3D. Cependant, l'adoption sera forcément lente, car nous parlons d'une API graphique extrêmement puissante et complexe, et pas seulement d'un ajustement cosmétique.

4. Démarrage direct

Qu'advient-il d'un appareil Android 7.0 verrouillé ? Il s'exécute en mode de démarrage direct sécurisé jusqu'à ce que l'utilisateur déverrouille l'appareil.

Pour rendre cela possible, Android 7.0 dispose de deux emplacements de stockage pour les données, avec deux solutions de chiffrement différentes :

  • Le stockage chiffré de l'appareil est disponible en démarrage direct et est accessible que l'appareil soit verrouillé ou déverrouillé.
  • Le stockage chiffré des informations d'identification reste l'emplacement par défaut et n'est disponible qu'après que l'utilisateur a déverrouillé l'appareil.

La plupart des implications sont évidentes : les applications qui doivent fonctionner en mode de démarrage direct , avant que l'appareil ne soit déverrouillé, doivent être activées pour le faire. Par défaut, les applications ne peuvent pas s'exécuter en démarrage direct , mais les développeurs peuvent enregistrer différents composants d'application qui doivent s'exécuter dans cet état.

Cela devrait inclure les applications qui fournissent des notifications importantes ou planifiées, telles que les applications de messagerie et de calendrier. Les applications qui nécessitent un accès au stockage doivent s'appuyer sur le stockage chiffré de l'appareil , qui est protégé par une clé qui devient disponible après que l'appareil a effectué un démarrage vérifié. L'accès ne s'étend pas aux données associées aux informations d'identification de l'utilisateur, à savoir les codes PIN et les mots de passe. Le stockage chiffré des informations d'identification n'est pas disponible tant que l'appareil ne démarre pas et n'est pas déverrouillé par l'utilisateur, mais une fois qu'il y a accès, il reste disponible jusqu'à ce que l'appareil soit éteint.

Impact pour les développeurs : le démarrage direct est censé améliorer la sécurité sans compromettre l'expérience utilisateur et la réactivité. La mise en œuvre devrait être simple, mais dans certains cas, elle impliquera une bonne quantité de travail fastidieux. Pourtant, cela ressemble à un petit compromis pour plus de sécurité.

5. Réponse directe et notifications groupées

Cela semble être lié au démarrage direct , mais la réponse directe est une bête différente, permettant aux utilisateurs de répondre aux messages et aux notifications à partir de l'écran de notification. L' action de réponse en ligne est disponible via un nouveau bouton dans la notification. En pratique, les utilisateurs devraient pouvoir répondre aux notifications sans accéder aux applications, et le système se chargera de tout le reste.

Le système ne peut faire sa magie que si les développeurs prennent leur temps pour activer la récupération de réponse en ligne, en appelant getResultsFromIntent() , qui renvoie un bundle avec la réponse textuelle requise. Avec Android 7.0, Google propose aux développeurs une nouvelle méthode de représentation des notifications en file d'attente : les notifications groupées . La solution est similaire à la pile de notifications sur Android Wear.

Les notifications groupées ne sont que cela : des missives similaires présentées dans un seul groupe, avec une hiérarchie propre et avec la notification parent en haut. Les utilisateurs peuvent ensuite développer le bundle pour accéder à plus d'informations et prendre les mesures appropriées, ou tout ignorer facilement s'ils ne sont pas intéressés.

Cependant, les notifications groupées ne sont pas destinées à être utilisées avec tous les types de notifications . Google clarifie ce point dans les meilleures pratiques de notification Android. Idéalement, l'approche devrait être utilisée pour les applications qui génèrent un grand volume de notifications similaires ou connexes, telles que les applications de messagerie.

À partir d'Android 7.0 (API niveau 24), les utilisateurs peuvent répondre directement aux messages texte ou mettre à jour les listes de tâches à partir de la boîte de dialogue de notification. Sur un ordinateur de poche, l'action de réponse en ligne apparaît sous la forme d'un bouton supplémentaire affiché dans la notification. Lorsqu'un utilisateur répond via le clavier, le système joint la réponse textuelle à l'intention que vous avez spécifiée (pour l'action de notification) et l'envoie à votre application portable.

Impact sur les développeurs : la réponse directe et les notifications groupées devraient améliorer l'expérience utilisateur dans un certain nombre de scénarios. Et à en juger par la documentation de Google, ils ne devraient pas non plus être difficiles à mettre en œuvre. De toute évidence, les e-mails, la messagerie et les applications sociales ont tout à gagner de la réponse en ligne, bien que l'approche puisse être mise en œuvre ailleurs.

6. Rêverie Réalité Virtuelle

L'accent mis récemment par Google sur la réalité virtuelle prouve que le géant de la recherche n'est pas à l'abri du battage médiatique. Nous nous souvenons tous de Google Cardboard et de Google Glass, qui était une fissure malheureuse dans l'espace de réalité augmentée.

Contrairement au verre, le carton ne s'est pas simplement fané et mort, mais il reste plus une expérience qu'un véritable produit. Google a amélioré le concept et il s'apprête à être relancé dans quelques semaines, avec un nouveau nom : Google Daydream . Daydream est, plus ou moins, une étape évolutive. Cela ressemble à un casque en carton modifié, mais les changements de fond sont difficiles à repérer.

La réalité virtuelle sur Android 7.0 va être décevante. Non pas parce que la technologie n'est pas là, mais parce qu'il n'y a pas de bon contenu.

La prise en charge arrive bientôt, dans la prochaine génération de téléphones Android, mais les concepteurs et les développeurs peuvent tester leurs concepts sur le Nexus 6P de la génération actuelle, actuellement le seul appareil compatible Daydream .

Google décrit Daydream comme la solution VR de nouvelle génération pour mobile, avec une interactivité améliorée et une meilleure réactivité par rapport à Cardboard. La société affirme avoir apporté des améliorations à tous les niveaux de la pile Android pour améliorer la réactivité. Cela devrait permettre à Android 7.0 d'accéder plus rapidement aux données du capteur et de rendre la scène VR appropriée au bon moment, réduisant considérablement la latence. Daydream est également livré avec une nouvelle manette sans fil avec les boutons APP et HOME .

Malheureusement, aucun de ces ajustements ne résoudra le plus gros problème auquel est confrontée la réalité virtuelle : le manque de contenu . La bonne nouvelle est que les choses s'améliorent et Google promet de fournir plus de contenu sur Daydream grâce à un certain nombre de partenariats couvrant tout, des sitcoms aux jeux.

Ma position sur la réalité virtuelle mobile reste quelque peu conservatrice, comme je l'ai souligné dans mon aperçu de Google Cardboard. Mes opinions ont été partiellement justifiées par une récente étude de marché, qui semble suggérer que la demande de VR reste faible. Google n'est pas en mesure de résoudre tous les problèmes de démarrage auxquels est confrontée la réalité virtuelle mobile aujourd'hui. Ce n'est pas une question de complaisance; Google doit attendre un meilleur matériel.

Même avant d'essayer Cardboard, je savais que la durée de vie de la batterie et les thermiques seraient un problème, tout comme Google. À l'avenir, cela restera un problème persistant. En fait, Google indique clairement que les performances thermiques du Nexus 6P ne sont "pas représentatives" des prochains téléphones compatibles Daydream :

Attendez-vous à ce que le 6P limite thermiquement les performances du CPU et du GPU après une courte période d'utilisation, en fonction de la charge de travail.

Nous devrons attendre que les fabricants de puces et les vendeurs de smartphones présentent une nouvelle génération de produits avant de pouvoir vraiment profiter de Daydream .

Impact sur les développeurs : Daydream VR pourrait offrir quelques nouvelles possibilités, mais ce n'est pas aussi simple qu'il n'y paraît. Alors que de nombreuses entreprises technologiques montent à bord du train VR, les consommateurs ne le font pas. En ce moment, c'est un trajet solitaire et coûteux.

7. Interface utilisateur, ajustements d'accessibilité et optimisation de l'arrière-plan

Google a peaufiné l'interface utilisateur, ajouté quelques fonctionnalités et affiné les performances dans le but d'offrir une expérience utilisateur encore plus fluide. Voici un avant-goût des nouveautés :

  • Prise en charge partielle d'environ 100 nouvelles langues, ainsi que de packs de langues améliorés et de nouvelles variantes locales pour les principales langues comme l'espagnol et l'anglais.
  • Plusieurs paramètres régionaux dans les paramètres, ce qui améliorera considérablement l'expérience des utilisateurs multi-locaux et bilingues.
  • Amélioration de WebView, le navigateur intégré à l'application. Il s'appuiera sur Chrome APK (à partir de la version 51) pour afficher les pages, réduisant ainsi l'utilisation de la mémoire et les besoins en bande passante. L'APK WebView autonome ne sera plus mis à jour tant que le rendu Chrome est activé.
  • Mises à jour d'Android for Work pour améliorer la sécurité et permettre une prise en charge VPN permanente. Une fonction de basculement rapide permettra aux utilisateurs de basculer entre les modes travail et personnel.
  • Project Svelte, qui est le nom de Google pour une gamme d'optimisations en arrière-plan qui modifient la façon dont les applications fonctionnent pour réduire l'utilisation de la RAM. Google indique qu'il continuera à étendre et à mettre à jour JobScheduler et GCMNetworkManager , mais en même temps, il supprimera trois diffusions largement utilisées : CONNECTIVITY_ACTION , ACTION_NEW_PICTURE et ACTION_NEW_VIDEO . Si votre application repose sur l'un d'entre eux, vous devrez migrer vers JobScheduler . Vous pouvez vérifier les détails geek sur Google.
  • Modifications de l'interface utilisateur de l'écran de bienvenue et de la vignette Paramètres rapides, qui incluent désormais une nouvelle API pouvant être utilisée dans des applications tierces. Les améliorations de notification incluent deux nouvelles API d'affichage personnalisé.
  • Assistant Google, Google Allo, Google Duo.

Impact sur les développeurs : ces nouvelles fonctionnalités et ajustements sont des ajouts bienvenus à Android, mais il est peu probable qu'ils génèrent beaucoup de nouvelles opportunités.

Android 7.0 : quel est le résultat final ?

Il est juste de dire qu'Android 7.0 n'est pas un gros problème pour les développeurs. C'est une amélioration progressive, principalement sur l'optimisation. Cela ne facilitera pas la création d'applications et de services révolutionnaires qui n'étaient pas possibles auparavant.

Mais je ne vois rien de mal à cela. Les smartphones regorgent déjà de fonctionnalités et les gens en ont assez des gadgets. Il est donc compréhensible que Google ait choisi de se concentrer sur l'amélioration des performances, de l'efficacité énergétique, de la sécurité et de l'expérience utilisateur globale. Et, comme iOS, Android est maintenant mature. Si vous êtes déçu par le manque de nouvelles fonctionnalités, je vous suggère de vous y habituer car c'est la nouvelle normalité .

L'époque de l'évolution rapide du matériel et des logiciels dans le mobile est révolue depuis longtemps. L'incrémental est la nouvelle norme.

À bien y penser, la plus grande nouvelle concernant Android 7.0 n'est pas le système d'exploitation lui-même. C'est la décision de Google de lancer de nouveaux téléphones Pixel conçus pour tirer parti de tout ce que le système d'exploitation a à offrir. D'un point de vue matériel, ils ne sont pas particulièrement spéciaux - ils sont basés sur une technologie prête à l'emploi, tout comme leurs prédécesseurs de la série Nexus. Mais le modèle commercial de Google pour Pixel est très différent, l'accent étant mis sur le contrôle de l'expérience utilisateur de bout en bout et l'ajout de valeur à la manière d'Apple.

Il est trop tôt pour spéculer sur l'impact que Pixel aura sur le reste de l'écosystème Android, mais cela est certain : ce sera un exercice d'équilibre délicat. Google pourrait choisir de réserver certaines fonctionnalités uniquement à ses téléphones Pixel internes, mais en même temps, il ne peut pas surjouer sa main. Il ne peut pas se permettre d'aliéner les fournisseurs d'Android et de rendre leurs produits moins compétitifs en ajoutant trop de fonctionnalités exclusives à Pixel.

Il reste à voir comment tout cela se déroule, mais en attendant, nous devons nous concentrer sur l'exploitation optimale d'Android 7.0. En fait, faites ce 7.1, qui est en version bêta et sera probablement publié sous peu.

Connexes : Android M (Android 6.0) pour les développeurs : une étape évolutive dans la bonne direction