Características da terra

Peter conn
Peter Conn

Há um ecossistema amplo sobre as Atividades confiáveis na Web, e pode ser difícil entender como tudo está relacionado e o que usar. Esperamos resolver isso neste artigo.

Se você nunca usou atividades na Web confiáveis ou está em busca do conjunto de ferramentas recomendadas que deve usar, confira as informações a seguir:

  • Bubblewrap: uma ferramenta do NodeJS que permite que os desenvolvedores criem e criem um APK do Android que encapsula um PWA já existente. O aplicativo gerado tem a tecnologia de Atividades confiáveis na Web, mas isso é transparente para o desenvolvedor. Não é necessária nenhuma experiência de desenvolvimento para Android. Confira a documentação do Bubblewrap para começar.
  • android-browser-helper: uma biblioteca do Android que encapsula o protocolo de atividades confiáveis na Web. Recomendado para desenvolvedores familiarizados com o desenvolvimento em Android e que querem usar Atividades confiáveis da Web como uma das atividades do app Android ou fazer personalizações que não têm suporte do Bubblewrap. Para começar a usar o android-browser-helper, consulte a documentação e as demonstrações.

A próxima seção oferece um breve resumo de todos os projetos em relação uns aos outros. Por fim (para os mais curiosos), há uma seção de história para mostrar como chegamos até aqui e para onde planejamos chegar em um futuro próximo.

Uma visão geral das bibliotecas

Aqui está um breve resumo de frase de cada uma das bibliotecas que você pode acabar usando:

  • androidx.browser, uma biblioteca do Android para interagir com o navegador instalado no dispositivo do usuário.
  • O Assistente de navegador do Android, uma biblioteca criada no androidx.browser para clientes de Atividades Confiáveis na Web que oferece métodos de conveniência e padrões razoáveis.
  • Bubblewrap, uma ferramenta para criar atividades confiáveis na Web com base em PWAs sem tocar em nenhum código Java.

Além disso, cada uma dessas bibliotecas/ferramentas substitui uma mais antiga:

Histórico

A Android Support Library.

A Biblioteca de Suporte do Android estende a plataforma Android com novas APIs e recursos de compatibilidade. Ela é dividida em vários pacotes, e a Biblioteca de Suporte de guias personalizadas contém funcionalidades para interagir com navegadores no sistema do usuário. O desenvolvimento da Biblioteca de Suporte de guias personalizadas foi feito principalmente no repositório do GitHub custom-tabs-client, com as mudanças sendo enviadas de volta para a Biblioteca de Suporte do Android.

Uma guia personalizada é uma atividade do Android que usa um navegador para mostrar uma página da Web. O principal benefício para o desenvolvedor é que ele pode ter um tema e ter um botão "Fechar", para que o usuário ainda permaneça no app do desenvolvedor, em vez de sair do app e acessar a experiência de navegação completa. Como uma API do Android, as guias personalizadas podem ser compatíveis com qualquer navegador e usam o navegador padrão do usuário, embora isso possa ser substituído pelos desenvolvedores.

Como as Atividades confiáveis na Web são criadas com base nas guias personalizadas, elas começaram a vida nessa biblioteca custom-tabs-client. As atividades confiáveis na Web removem a barra superior de guias personalizadas quando o usuário está navegando em um site de propriedade do desenvolvedor do app. Isso abre as portas para a integração total do seu site em um app Android nativo e pode ser usado para criar apps em que toda a funcionalidade é fornecida pela Web.

AndroidX

Mais tarde, a Biblioteca de Suporte do Android foi renomeada como AndroidX, que faz parte de um grande esforço para melhorar a experiência do desenvolvedor, chamado JetPack. Portanto, guias personalizadas e atividades confiáveis na Web tiveram que ser movidas da Biblioteca de Suporte de guias personalizadas para o novo androidx.browser.

Parte do código que criamos em custom-tabs-client era adequado para uma biblioteca de classes auxiliares de Atividades Confiáveis na Web, mas não para uma API Android. O código que lida com a verificação de versões desatualizadas do Chrome e solicita que o usuário atualize ou tome decisões sobre como os dados precisam ser armazenados não pode ser movido para o AndroidX. Por isso, criamos uma biblioteca alternativa para conter essas partes de custom-tabs-client que não podiam ser acessadas no androidx.browser e assim nasceu o Assistente de navegador do Android.

O Assistente do navegador do Android foi criado para conter um código que pode ser específico aos navegadores (não somente o Chrome, estamos abertos a código especificamente para outros navegadores) e pode tomar decisões concretas que as bibliotecas não devem. Aproveitamos essa oportunidade para, de forma geral, separar os papéis dessas duas bibliotecas:

  • androidx.browser contém os elementos básicos para interagir com navegadores no sistema do usuário.
  • O Assistente de navegador do Android contém implementações padrão convenientes e simples.

Bootstrap

Os desenvolvedores são pessoas ocupadas, com muito trabalho a fazer e prazos a cumprir. Para ajudar nisso, criamos duas ferramentas para permitir que o usuário inicialize sua Atividade confiável na Web.

O primeiro (e o mais antigo) é o svgomg-twa, que é um projeto do Android hospedado pelo GitHub que inicia uma atividade confiável na Web. Ele foi originalmente projetado para ser um projeto de demonstração, que evoluiu para um modelo. Os usuários podem clonar esse repositório e modificar o arquivo build.gradle para direcionar ao próprio site, criá-lo e produzir uma Atividade confiável na Web sem tocar em nenhum código Java. Fazer a verificação do Digital Asset Links exige mais esforço. Leia mais aqui.

O svgomg-twa começou de acordo com o custom-tabs-client, mas passou para o assistente do navegador do Android (e para o androidx.browser de modo transitivo).

A ferramenta mais recente e mais sofisticada é o Bubblewrap, uma ferramenta em Node.js que usa o manifesto do app da Web e gera uma atividade confiável da Web para você. Essa é a maneira mais fácil de criar uma atividade confiável na Web com base em um PWA já existente e não requer nenhum conhecimento de desenvolvimento do Android.

Futuro próximo

O svgomg-twa será descontinuado por dois motivos:

  • O Bubblewrap basicamente gera um svgomg-twa preenchido para um desenvolvedor. Ele faz isso de maneira interativa e pode usar a configuração de um manifesto de app da Web, que um PWA provavelmente já terá.
  • Se os desenvolvedores quiserem uma referência sobre como iniciar o próprio projeto de Atividades Confiáveis na Web do zero, poderão consultar o diretório demos dos Auxiliares do navegador Android.

Novos desenvolvedores precisam usar o Bubblewrap para gerar os projetos. Se você já estiver usando o svgomg-twa e tiver feito algumas modificações pesadas, poderá continuar fazendo isso, mas não receberá atualizações.

Planejamos tornar o Bubblewrap o mais eficiente possível. Portanto, se um recurso óbvio estiver faltando ou você encontrar um bug, crie um problema.