Se você é do tipo de usuário do Android que mexe com o conteúdo de aplicativos pré-instalado, provavelmente encontrou o Android System WebView. O Android WebView representa uma parte importante do sistema operacional Android e um pacote que recebe atualizações constantes. Hoje, discutiremos o que é realmente o Android WebView e o que é responsável no sistema operacional do Google.

Na era dos serviços de Internet, cada sistema operacional deve fornecer uma maneira de integrar o conteúdo da Web às interfaces nativas do aplicativo. A exibição do conteúdo completo do website dentro de um aplicativo pode reduzir bastante os tempos de desenvolvimento do aplicativo. Além disso, os aplicativos da Web são muito mais fáceis de criar do que os nativos e também podem ser independentes do sistema operacional.

 

A solução do Google para exibir conteúdo da web dentro de aplicativos é o Android WebView. Usando o WebView, um desenvolvedor de aplicativos pode exibir um site completo dentro do aplicativo, sem a necessidade de abrir links no Navegador da Web do sistema. Para tornar as coisas mais interessantes, o Google adicionou algumas funcionalidades extras dentro do WebView: Sites especialmente projetados podem chamar funções Android nativas através do WebView, em um esforço para melhorar a experiência do usuário (por exemplo, um site pode exibir uma caixa de diálogo nativa do Android para pedir confirmação da do utilizador).

 

Alguns fatos históricos:

O WebView foi incluído no Android desde seus primeiros dias. Inicialmente, ele foi enviado como um componente do sistema operacional. Um grande incidente ocorreu em 12 de janeiro de 2015: os pesquisadores independentes Rafay Baloch e Joe Vennix descobriram 11 façanhas no Android WebView. Essas explorações afetaram todas as versões do sistema operacional Android até o mais recente Android Jelly Bean.

 

Em um movimento polêmico, o Google optou por não corrigir a implementação atual do WebView, pois não era possível enviar o código atualizado para todos os dispositivos Android atualmente disponíveis. Os custos para os OEMs seriam enormes. Esta decisão deixou um grande número de dispositivos vulneráveis ​​a ataques sérios.

O Google criou uma nova implementação do WebView no Android KitKat, baseado no WebKit (e posteriormente no Blink). Inicialmente, o WebView era enviado como parte da estrutura do Android, o que significava que atualizá-lo exigiria uma atualização completa do firmware. Para facilitar o envio de bugs e falhas de segurança, o Google separou o WebView do restante do sistema operacional do Android Lollipop. A partir do Lollipop, o Android WebView pode ser atualizado através da Google Play Store.

 

Implementações do Android WebView

Como quase tudo no Android, o WebView tornou-se complicado demais durante os anos de seu desenvolvimento. Desde o Android Nougat, o Google tornou o Android WebView uma parte do navegador da Web Chrome (versão 51 do Chrome em diante). Ambos os pacotes já compartilhavam grande parte de seu código, então, mesclá-los diminuiria o tamanho do aplicativo e o tamanho da memória.

No entanto, uma implementação autônoma ainda está disponível na maioria dos ROMs, incluindo ROMs personalizadas (conhecidas como Android System WebView ou Google WebView). Essa implementação assume o controle quando o Chrome não está instalado ou está desativado pelo usuário. Por fim, as ROMs personalizadas geralmente fornecem sua própria implementação do WebView (conhecido como AOSP WebView no LineageOS e amigos), que é uma versão simplificada da implementação do Google. O AOSP WebView é baseado no código Chromium e não possui alguns recursos proprietários.

Então, para resumir, três implementações principais do WebView atualmente existem no Android:

Nougat e ROMs posteriores permitem escolher qual implementação WebView usar em Opções de Desenvolvedor.

WebView do sistema Android
WebView do sistema Android

O que o WebView pode fazer?

É ainda possível criar um navegador da Web completo utilizando o WebView do Android. Um bom exemplo é o Lineage OS Jelly Web Browser. O Jelly serve como front-end, adicionando funcionalidade especial ao WebView.

WebView para Android

Qual implementação do WebView devo usar?

Se você estiver usando o navegador Google Chrome, a resposta é simples: basta instalar uma das quatro variantes do Google Chrome (estável, desenvolvedor, beta, canário) e verificar se a implementação do Chrome WebView está selecionada em Opções do desenvolvedor. Essa solução economizará espaço em disco e reduzirá o uso da memória. No entanto, se você não tiver o Google Chrome instalado no seu dispositivo, só poderá utilizar o Google WebView.

Mesmo se você estiver executando uma ROM personalizada, as implementações fornecidas pelo Google (Chrome e Android System WebView) poderão funcionar melhor que a implementação do AOSP. A implementação do AOSP geralmente inclui bugs e também pode estar de volta em termos de atualizações, uma vez que é mantida em repositórios bifurcados por desenvolvedores de ROM customizados. Geralmente vem instalado como um aplicativo do sistema e atualizá-lo requer uma atualização de firmware.

Seja qual for a implementação do WebView que você escolher usar, você deve se certificar de atualizá-la com frequência. Uma grande porcentagem de aplicativos para Android usa o WebView para coisas simples ou mais complicadas. Vulnerabilidades de segurança no WebView podem colocar em risco dados confidenciais do usuário. O Google tenta corrigir os problemas assim que eles são descobertos e atualizar suas ofertas da Play Store.

Por último, se a sua ROM não personalizada tiver o WebView implementado de uma forma que não possa obter atualizações através da Play Store, certifique-se de instalar uma das implementações mencionadas acima como um aplicativo de usuário.

Preocupações de segurança do WebView

Apesar de várias correções de erros ao longo dos anos, há uma grande preocupação de segurança sobre o WebView: Permitir que o código JavaScript acesse as funções nativas do Android dá a um site ótimos privilégios. Um site especialmente criado pode destruir ou roubar dados do usuário em um intervalo de tempo. Não há nenhuma maneira conhecida de filtrar o acesso aos componentes internos do Android por meio do WebView ainda. A única solução para evitar esse tipo de ataque é instalar apenas aplicativos confiáveis ​​que implementam o WebViews. Os aplicativos Open Source, que têm seu código prontamente disponível para leitura, são os melhores candidatos.

Links

WebView do sistema Android

Preço: Gratuito

42,018 Downloads

BAIXAR NO GOOGLE PLAY

4,4

Google Chrome: rápido e seguro

Preço: Gratuito

42,018 Downloads

BAIXAR NO GOOGLE PLAY

4,3