L'écosystème des activités Web fiables est assez vaste, et il peut être difficile de comprendre comment tout est lié et ce que vous devez utiliser. Cet article vise à y répondre.
Si vous ne connaissez pas encore les activités Web sécurisées ou si vous recherchez simplement l'ensemble d'outils recommandés que vous devriez utiliser dès aujourd'hui, voici ce que vous devez savoir:
- Bubblewrap: 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 basée sur les activités Web fiables, mais cela est transparent pour le développeur. Aucune expérience en développement Android n'est requise. Consultez la documentation Bubblewrap pour vous lancer.
- android-browser-helper: bibliothèque Android qui encapsule le protocole Trusted Web Activities. Recommandé pour les développeurs qui connaissent le développement Android et souhaitent utiliser les activités Web fiables comme l'une des activités de leur application Android ou effectuer des personnalisations qui ne sont pas compatibles avec Bubblewrap. Pour commencer à utiliser android-browser-helper, consultez la documentation et nos démonstrations.
La section suivante fournit un bref résumé de tous les projets en relation les uns avec les autres. Enfin, (pour les plus curieux) une section "Historique" vous montre comment nous en sommes arrivés là et où nous prévoyons d'aller dans un avenir proche.
Présentation des bibliothèques
Voici un bref résumé en une seule phrase de chacune des bibliothèques que vous pouvez utiliser:
- androidx.browser, une bibliothèque Android permettant d'interagir avec le navigateur installé sur l'appareil de l'utilisateur.
- L'assistant de navigateur Android, une bibliothèque basée sur androidx.browser pour les clients d'activités Web fiables fournissant des méthodes pratiques et des valeurs par défaut adaptées.
- Bubblewrap, un outil permettant de créer des activités Web fiables à partir de PWA sans toucher à aucun code Java.
De plus, chacune de ces bibliothèques/outils remplace une ancienne:
- androidx.browser remplace la bibliothèque Support des onglets personnalisés.
- Le Browser Helper Android doit être utilisé à la place de custom-tabs-client.
- Utilisez Bubblewrap au lieu de svgomg-twa.
Historique
Bibliothèque Android Support
La bibliothèque Android Support étend la plate-forme Android avec de nouvelles API et des fonctionnalités de compatibilité. Elle est répartie sur plusieurs packages, la bibliothèque de compatibilité des onglets personnalisés contenant des fonctionnalités permettant d'interagir avec les navigateurs sur le système de l'utilisateur. Le développement de la bibliothèque de compatibilité des onglets personnalisés a principalement été effectué dans le dépôt GitHub custom-tabs-client, les modifications étant réintégrées dans la bibliothèque de compatibilité Android.
Un onglet personnalisé est une activité Android qui utilise un navigateur pour afficher une page Web. L'avantage principal pour le développeur est qu'il peut être thématisé et qu'il dispose d'un bouton de fermeture. L'utilisateur reste donc dans l'application du développeur (au lieu de quitter l'application et d'accéder à l'expérience de navigation complète). En tant qu'API Android, les onglets personnalisés peuvent être compatibles avec n'importe quel navigateur et utiliser le navigateur par défaut de l'utilisateur (bien que les développeurs puissent le remplacer).
Étant donné que les activités Web fiables sont basées sur les onglets personnalisés, elles ont vu le jour 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 permet d'intégrer facilement votre site Web dans une application Android native et peut être utilisé pour créer des applications dont toutes les fonctionnalités sont fournies par le Web.
AndroidX
La bibliothèque Support Android a ensuite été rebaptisée AndroidX, qui fait partie d'un effort plus vaste visant à améliorer l'expérience des développeurs appelé JetPack. Par conséquent, les onglets personnalisés et les activités Web fiables ont dû passer de la bibliothèque d'assistance des onglets personnalisés au nouveau androidx.browser.
Une partie du code que nous avions écrit dans custom-tabs-client était adaptée à une bibliothèque de classes d'assistance d'activité Web sécurisée, mais pas à une API Android. Le code chargé de rechercher les versions obsolètes de Chrome et d'inviter l'utilisateur à les mettre à jour ou de prendre des décisions sur la manière dont les données doivent être stockées ne pouvait pas être transféré vers AndroidX. Nous avons donc créé une bibliothèque alternative pour contenir ces parties de custom-tabs-client qui ne pouvaient pas être incluses dans androidx.browser. C'est ainsi qu'est né l'aide-navigateur Android.
Le Browser Helper Android a été créé pour contenir du code pouvant être spécifique aux navigateurs (pas seulement Chrome, nous sommes ouverts au code spécifique à d'autres navigateurs) et peut prendre des décisions concrètes que les bibliothèques ne devraient pas prendre. Nous avons profité de cette occasion pour séparer 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'aide-navigateur Android contient des implémentations par défaut pratiques et judicieuses.
Amorçage
Les développeurs sont des personnes occupées, qui ont beaucoup de travail à faire et des échéances à respecter. Pour y parvenir, nous avons créé deux outils permettant aux utilisateurs de démarrer leur activité Web fiable.
Le premier (et le plus ancien) est svgomg-twa, un projet Android hébergé sur GitHub qui lance une activité Web sécurisée. Il s'agissait à l'origine d'un projet de démonstration qui est devenu 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 compiler et générer une activité Web fiable sans toucher au code Java. (La validation des liens vers des assets numériques nécessite plus d'efforts. Pour en savoir plus, cliquez ici.)
svgomg-twa dépendait initialement de custom-tabs-client, mais a ensuite été transféré vers l'aide-navigateur Android (et par transitivité androidx.browser).
L'outil le plus récent et le plus intéressant est Bubblewrap, un outil Node.js qui utilisera votre fichier manifeste d'application Web et générera 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. Cette méthode ne nécessite aucune connaissance en développement Android.
Prochainement
Nous allons abandonner svgomg-twa pour deux raisons:
- Bubblewrap génère essentiellement un svgomg-twa rempli pour un développeur. Il le fait de manière interactive et peut récupérer la configuration à partir d'un fichier manifeste d'application Web (que la PWA possède probablement déjà).
- Si les développeurs souhaitent obtenir une référence sur la façon de démarrer leur propre projet d'activité Web fiable à partir de zéro, ils peuvent consulter le répertoire des démos des assistants de navigateur Android.
Les nouveaux développeurs doivent utiliser Bubblewrap pour générer leur projet. Si vous utilisez déjà svgomg-twa et que vous avez apporté des modifications importantes, vous pouvez continuer à le faire, mais vous ne recevrez pas de mises à jour.
Nous prévoyons de rendre Bubblewrap aussi performant que possible. Si une fonctionnalité évidente est manquante ou si vous rencontrez un bug, n'hésitez pas à créer un problème.