Le terrain

Peter Conn
Peter Conn

Les activités de confiance sur le Web génèrent un vaste écosystème, et il peut s'avérer assez difficile voir comment tout se rapporte et ce que vous devez utiliser. Cet article vise à résoudre ce problème.

Si vous découvrez le programme "Activités sur le Web de confiance" ou si vous recherchez simplement l'ensemble d'outils recommandé que vous devez utiliser aujourd'hui, voici ce que vous devez savoir:

  • Bubblewrap : un outil NodeJS qui permet aux développeurs de créer et de compiler un APK Android qui : encapsule une PWA existante. L'application générée est optimisée par des activités Web fiables, mais cela est transparent pour les développeur. Aucune expérience en développement Android n'est requise. Pour commencer, consultez la documentation sur le papier bulle.
  • android-browser-helper: une bibliothèque Android qui encapsule les activités Web fiables standard. Recommandé pour les développeurs qui connaissent déjà le développement Android et souhaitent utiliser le Web de confiance des activités comme l'une des activités dans leur application Android ou effectuer des personnalisations qui ne sont pas pris en charge par Bubblewrap. Pour faire vos premiers pas avec android-browser-helper, consultez la documentation et nos démonstrations.

La section suivante donne un bref résumé de tous les projets les uns par rapport aux autres. Enfin (pour les plus curieux), il y a une section Histoire pour vous montrer comment nous en sommes arrivés là et où nous prévoyons d’y arriver dans un avenir proche.

Présentation des bibliothèques

Voici un bref résumé en une phrase de chacune des bibliothèques que vous êtes susceptible d'utiliser:

  • androidx.browser, une bibliothèque Android permettant d'interagir avec le navigateur installé sur le appareil.
  • Android Browser Helper, une bibliothèque basée sur androidx.browser pour les activités Web fiables en fournissant des méthodes pratiques et des valeurs par défaut logiques.
  • Bubblewrap, un outil permettant de créer des activités Web de confiance à partir de PWA sans toucher à Java du code source.

De plus, chacun de ces outils/bibliothèques remplace un ancien outil:

Historique

Bibliothèque Android Support

La bibliothèque Android Support étend la plate-forme Android en lui ajoutant de nouvelles API et de nouvelles compatibilités. caractéristiques. Il est réparti entre plusieurs packages, et la bibliothèque Support pour les onglets personnalisés contient une fonctionnalité permettant d'interagir avec les navigateurs du système de l'utilisateur. Le développement de la bibliothèque Support pour les onglets personnalisés s'est principalement effectué dans le client custom-tabs-client. Dépôt GitHub, avec les modifications transférées en amont dans la bibliothèque Android Support.

Un onglet personnalisé est une activité Android qui utilise un navigateur pour afficher une page Web. Le principal avantage pour les développeurs est qu'ils peuvent être thématiques et qu'ils comportent un bouton de fermeture, de sorte que l'utilisateur reste dans l'application du développeur (au lieu de quitter l'application et d'accéder à la navigation complète). expérience). En tant qu'API Android, les onglets personnalisés sont compatibles avec n'importe quel navigateur et utiliseront les onglets par défaut de l'utilisateur. navigateur (bien que les développeurs puissent le remplacer).

Étant donné que les activités Web fiables reposent sur les onglets personnalisés, elles ont débuté dans cette bibliothèque custom-tabs-client. Les activités Web fiables suppriment la barre supérieure des onglets personnalisés lorsque l'utilisateur navigue sur un site appartenant au développeur de l'application. Cela vous permet d'intégrer parfaitement votre site Web dans une application Android native et peut pour créer des applications dont toutes les fonctionnalités sont fournies par le Web.

AndroidX

La bibliothèque Android Support a été rebaptisée AndroidX, qui fait elle-même partie d'un pour améliorer l'expérience des développeurs, appelée JetPack. Les onglets personnalisés et les activités Web fiables ont donc dû être déplacés de la bibliothèque Support des onglets personnalisés vers le nouvel androidx.browser.

Une partie du code que nous avions écrit dans custom-tabs-client était adaptée à une bibliothèque d'API Trusted pour les classes d'assistance Web Activity, mais pas pour une API Android. Code consistant à vérifier les versions obsolètes de Chrome et à inviter l'utilisateur à effectuer une mise à jour ou la prise de décisions sur la façon dont les données doivent être stockées ne pouvaient pas être transférées vers AndroidX. C'est pourquoi nous avons créé une autre bibliothèque pour y inclure les éléments de custom-tabs-client, qui ne pouvaient pas accéder à androidx.browser. C'est ainsi qu'Android Browser Helper a été créé.

L'outil Android Browser Helper a été créé pour contenir du code spécifique aux navigateurs (pas uniquement Chrome, nous sommes prêts à coder spécifiquement pour d'autres navigateurs) et nous pouvons prendre des décisions concrètes. que les bibliothèques ne devraient pas. Nous avons profité de cette occasion pour séparer généralement les rôles de ces deux bibliothèques:

  • androidx.browser contient les éléments de base permettant d'interagir avec les navigateurs sur le système de l'utilisateur.
  • L'application d'aide du navigateur Android propose des implémentations par défaut pratiques et raisonnables.

Amorçage

Les développeurs sont des personnes occupées, avec beaucoup de travail et des délais à respecter. Pour vous aider, nous avons créé deux outils qui permettent à l'utilisateur d'amorcer son activité Web fiable.

Le premier (et le plus ancien) est svgomg-twa. Il s'agit d'un projet Android hébergé sur GitHub qui lance une Activité Web fiable. À l'origine, il s'agissait d'un projet de démonstration, puis il a évolué pour devenir un modèle. Les utilisateurs peuvent cloner ce dépôt et modifier le fichier build.gradle pour qu'il pointe vers leur propre site Web. le créer et générer une activité Web de confiance sans toucher à du code Java. (La validation de Digital Asset Links nécessite plus d'efforts. Pour en savoir plus, cliquez ici.)

svgomg-twa a commencé par dépendre de custom-tabs-client, avant de passer à Android. Browser Helper (et de manière transitoire androidx.browser).

Bubblewrap est l'outil le plus récent et le plus efficace. Il s'agit d'un outil Node.js qui vous permet d'utiliser votre application Web Manifestez et générez une activité Web fiable pour vous. Il s'agit du moyen le plus simple de créer une activité Web fiable à partir d'une PWA existante. aucune connaissance en développement Android.

Prochain avenir

Nous allons abandonner l'API svgomg-twa pour deux raisons:

  • Le format Bubblewrap génère en fait un code svgomg-twa rempli pour un développeur. Le processus est interactif et peut récupérer la configuration à partir du fichier manifeste d'une application Web (qu'une PWA auront probablement déjà).
  • Si les développeurs ont besoin d'une référence pour démarrer leur propre projet d'activité Web fiable à partir de Ils peuvent consulter le répertoire demos des assistants du navigateur Android.

Les nouveaux développeurs doivent plutôt utiliser Bubblewrap pour générer leur projet. Si vous utilisez déjà svgomg-twa et que vous avez effectué des modifications importantes, vous pourrez tout à fait continuent à le faire, mais ne reçoivent pas de mises à jour.

Nous prévoyons de faire en sorte que le format Papier bulle soit le plus performant possible, c'est-à-dire s'il manque une fonctionnalité évidente ou si vous rencontrez un bug, n'hésitez pas à signaler le problème.