Terreno

Peter Conn
Peter Conn

Existe una gran cantidad de ecosistemas en torno a Trusted Web Activities y puede ser bastante difícil ver cómo se relaciona todo y qué debes usar. Esperamos solucionar este problema en este artículo.

Si eres nuevo en Trusted Web Activities o solo buscas el conjunto de herramientas recomendado que deberías usar hoy, esto es lo que debes tener en cuenta:

  • Bubblewrap: Es una herramienta de Node.js que permite a los desarrolladores crear y compilar un APK de Android que une una AWP existente. La aplicación generada cuenta con la tecnología de Trusted Web Activities, pero esto es transparente para el desarrollador. No se requiere experiencia en desarrollo de Android. Consulta la documentación de Bubblewrap para comenzar.
  • android-browser-helper: Es una biblioteca de Android que encapsula el protocolo de actividades web de confianza. Se recomienda para desarrolladores familiarizados con el desarrollo de Android y que deseen usar Trusted Web Activities como una de las actividades en su app para Android o realizar personalizaciones que no son compatibles con Bubblewrap. Para comenzar a usar android-browser-helper, consulta la documentación y nuestras demostraciones.

La siguiente sección ofrece un breve resumen de todos los proyectos en relación con los demás. Por último (para los más curiosos) hay una sección de historia que muestra cómo llegamos hasta aquí y adónde planeamos ir en el futuro cercano.

Descripción general de las bibliotecas

A continuación, se incluye un breve resumen de una sola oración de cada una de las bibliotecas que podrías terminar usando:

  • androidx.browser, una biblioteca de Android para interactuar con el navegador instalado en el dispositivo del usuario.
  • Android Browser Helper, una biblioteca que se compila en androidx.browser para clientes de Trusted Web Activity y proporciona métodos prácticos y valores predeterminados confidenciales.
  • Bubblewrap, una herramienta para crear actividades web de confianza desde AWP sin tocar ningún código Java.

Además, cada una de estas bibliotecas o herramientas reemplaza una anterior:

Historial

Biblioteca de compatibilidad de Android

La biblioteca de compatibilidad de Android amplía la plataforma de Android con nuevas APIs y funciones de compatibilidad. Se divide en varios paquetes, y la biblioteca de compatibilidad de pestañas personalizadas contiene funcionalidades para interactuar con navegadores en el sistema del usuario. El desarrollo de la biblioteca de compatibilidad de pestañas personalizadas se llevó a cabo principalmente en el repositorio de GitHub custom-tabs-client, y los cambios se transfirieron de nuevo a la biblioteca de compatibilidad de Android.

Una pestaña personalizada es una actividad de Android que usa un navegador para mostrar una página web. El beneficio principal para el desarrollador es que puede tener un tema y tiene un botón de cierre, de modo que el usuario permanece en la app del desarrollador (en lugar de salir de la app y pasar a la experiencia de navegación completa). Como API de Android, las pestañas personalizadas pueden ser compatibles con cualquier navegador y usarán el navegador predeterminado del usuario (aunque los desarrolladores pueden anular esta opción).

Como las Actividades web de confianza se basan en pestañas personalizadas, comenzaron su vida en esta biblioteca custom-tabs-client. En Actividad web de confianza, se quita la barra superior de pestañas personalizadas cuando el usuario navega por un sitio que pertenece al desarrollador de la app. Esto permite una integración continua de tu sitio web en una app para Android nativa, y se puede usar para crear apps en las que la Web proporcione todas las funciones.

AndroidX

Más adelante, se cambió el nombre de la biblioteca de compatibilidad de Android por AndroidX, que forma parte de un esfuerzo más grande para mejorar la experiencia de los desarrolladores llamado JetPack. Por lo tanto, las pestañas personalizadas y las actividades web de confianza tuvieron que trasladarse de la biblioteca de compatibilidad de pestañas personalizadas a la nueva versión de androidx.browser.

Parte del código que se escribió en custom-tabs-client era apropiado para una biblioteca de clases de ayuda de Trusted Web Activity, pero no para una API de Android. No se pudo mover a AndroidX el código que trata sobre la búsqueda de versiones desactualizadas de Chrome y el pedido al usuario de que actualice o tome decisiones sobre cómo almacenar datos. Por lo tanto, creamos una biblioteca alternativa para contener estas partes de custom-tabs-client que no podían incluirse en androidx.browser, por lo que nació Android Browser Helper.

El Asistente del navegador de Android se creó para contener código que puede ser específico para los navegadores (no solo para Chrome, ya que podemos usar código específicamente para otros navegadores) y puede tomar decisiones concretas que las bibliotecas no deberían. En general, aprovechamos esta oportunidad para separar las funciones de estas dos bibliotecas:

  • androidx.browser contiene los componentes básicos para interactuar con los navegadores en el sistema del usuario.
  • Android Browser Helper contiene implementaciones predeterminadas prácticas y razonables.

Inicio

Los desarrolladores son personas ocupadas, con mucho trabajo por hacer y las fechas límites que deben cumplir. Para ayudar con esto, creamos dos herramientas que permiten que el usuario inicie su actividad web de confianza.

El primero (y el más antiguo) es svgomg-twa, un proyecto de Android alojado en GitHub que inicia una actividad web de confianza. Originalmente, se diseñó como un proyecto de demostración que evolucionó hasta convertirse en una plantilla. Los usuarios pueden clonar ese repositorio y modificar el archivo build.gradle para que apunte a su propio sitio web, compilarlo y producir una actividad web de confianza sin tocar ningún código Java. (Obtener la verificación de Vínculos de recursos digitales requiere más esfuerzo. Obtén más información aquí).

svgomg-twa comenzó según custom-tabs-client, pero luego pasó a Android Browser Helper (y, de forma transitiva, androidx.browser).

La herramienta más nueva y brillante es Bubblewrap, una herramienta de Node.js que tomará tu manifiesto de app web y generará una actividad web de confianza para ti. Esta es la forma más fácil de crear una actividad web de confianza a partir de una AWP existente y no requiere conocimientos sobre desarrollo de Android.

Futuro cercano

svgomg-twa dejará de estar disponible por dos motivos:

  • Bubblewrap genera básicamente un svgomg-twa completo para un desarrollador. Lo hace de forma interactiva y puede tomar la configuración del manifiesto de una app web (que es probable que ya tenga una AWP).
  • Si los desarrolladores quieren una referencia para iniciar su propio proyecto de Trusted Web Activity desde cero, pueden consultar el directorio demos de los ayudantes del navegador de Android.

Los desarrolladores nuevos deberían usar Bubblewrap para generar su proyecto. Si ya usas svgomg-twa y realizaste algunas modificaciones pesadas, podrás seguir haciéndolo, pero no recibirás actualizaciones.

Planeamos hacer que Bubblewrap sea lo más capaz posible, así que si falta una función obvia o si encuentras un error, no dudes en crear un problema.