Um comerciante constrói uma página. Quando ela chega a um cliente dentro do seu WebView, carrega passageiros que o comerciante nunca convidou explicitamente — beacon de analytics, píxeis de retargeting, uma plataforma de consentimento, um gerenciador de tags, uma ferramenta de mapa de calor, um widget de chat. Cada um prometeu crescimento ou insight. Juntos, tributam cada carregamento de página, em cada dispositivo, para cada visitante. E em um WebView, nada os detém.
O imposto de rastreamento da web aberta, agora dentro do seu app
Na web aberta, extensões de navegador e proteção de rastreadores em nível de plataforma atenuam parte disso. Dentro de um WebView, nada disso existe. Os scripts de terceiros da página executam exatamente como escritos, com acesso total ao único encadeamento de JavaScript, à rede e ao contexto da própria página. O capítulo de JavaScript do Web Almanac 2024 mediu que a página móvel mediana envia 375 KB de JavaScript de terceiros contra 168 KB de primeira parte — terceiros superam o código próprio do site em 2,2×. O JS de terceiros cresceu de 255 KB (2020) para 292 KB (2022) para 375 KB (2024). O capítulo de Terceiros constatou que 92% das páginas carregam ao menos um terceiro, com scripts representando cerca de 30,5% das solicitações de terceiros; os 1.000 sites principais rodam uma mediana de 66 terceiros por página. Seu WebView herda tudo isso, sem filtro.
É primeiro um imposto de desempenho
Cada script de terceiros é trabalho do encadeamento principal que o cliente paga. O capítulo de desempenho do Web Almanac constatou que páginas móveis com scripts de comportamento (analytics) mantêm uma boa pontuação de Interaction to Next Paint apenas 37% das vezes — a pilha de analytics satura o encadeamento que deveria responder aos toques, então o botão de checkout parece lento e o menu hesita. A própria orientação do Google correlaciona o tamanho do gerenciador de tags com um INP pior. E velocidade é receita: o Google e a Deloitte em Milliseconds Make Millions descobriram que uma melhora de 0,1 segundo no tempo de carregamento móvel elevou as conversões de varejo em 8,4%. Uma página WebView inchada com scripts alheios entrega essa melhora antes mesmo do código do comerciante rodar.
Também é um imposto de privacidade e superfície de ataque
Cada SDK é um ponto de exfiltração de dados. O mesmo Web Almanac nota que a cadeia de inclusão mediana tem 3 níveis de profundidade, com a mais profunda observada chegando a 2.285 níveis — terceiros carregando terceiros carregando terceiros, muito além da visibilidade do comerciante. Sob o GDPR, cookies e rastreadores não essenciais exigem um ato de consentimento afirmativo claro; reguladores da Áustria, França e Suécia decidiram que implementações padrão do Google Analytics violam a regra, com a Suécia aplicando uma multa de 1 milhão de euros. Nenhuma dessa disciplina de consentimento é aplicada automaticamente dentro de um WebView. E cada script extra é uma dependência que pode travar, falhar ou ser comprometida — a sequência de carregamento da página é refém do passageiro mais lento e menos responsável.
A solução do runtime
Um runtime próprio do host não carrega a página do comerciante e espera que os terceiros se comportem. Ele governa o carregamento de recursos na camada WebView — interceptação no Android (shouldInterceptRequest) e WKURLSchemeHandler no iOS — assim uma única política pode permitir o essencial, adiar tags não críticas até o ocioso e bloquear rastreadores e scripts de cadeia de suprimentos conhecidos, tudo respeitando o estado de consentimento do usuário. A analytics pode ser consolidada e reportada no servidor, removendo categorias inteiras de rastreadores no navegador. Terceiros viram um limite governado que o runtime impõe, não um imposto silencioso que a página cobra de seus usuários.
| Dimensão | WebView | Runtime próprio do host |
|---|---|---|
| Governança de scripts | Cada terceiro dispara sem filtro | Permitir, adiar, bloquear na camada de carga |
| Encadeamento principal | Saturado por analytics/gerenciadores de tags | Protegido para a UX própria da página |
| Privacidade | Rastreadores exfiltram; consentimento não aplicado | Consciente do consentimento; analytics server-side |
| Cadeia de suprimentos | Cadeias de inclusão profundas e opacas | Dependências acotadas e auditáveis |
| Superfície de ataque | Cada SDK é uma dependência explorável | Superfície mínima e verificada |
O fio condutor desta série é o controle. Um WebView entrega a página de seus usuários — e seus dados — a uma economia de rastreamento da web aberta que você não vê nem governa. Um runtime deixa você traçar o limite. Para um catálogo de páginas alheias que rodam dentro do seu app, esse limite é a fenda entre uma experiência rápida e privada e uma página que aluga silenciosamente seus clientes a quem carregou o SDK primeiro.
Fontes
- Web Almanac 2024 — JavaScript: a página móvel mediana envia 375 KB de JS de terceiros contra 168 KB de primeira parte — terceiros superam primeira parte 2,2×; cresceram 255→375 KB de 2020 a 2024.
- Crescimento do JavaScript de Terceiros — 92% das páginas carregam ≥1 terceiro; desequilíbrio 2,2× — cadeia de inclusão mediana 3 níveis; mais profunda observada 2.285.
- Web Almanac 2024 — Peso da Página: 92% das páginas tinham ≥1 recurso de terceiros; scripts ~30,5% das solicitações de terceiros — os 1.000 sites principais mediana 66 terceiros por página.
- Analytics server-side vs navegador — scripts de analytics saturram o encadeamento principal; bom INP só 37% das vezes; decisões GDPR contra GA — impacto INP e decisões da Áustria/França/Suécia contra GA padrão.
- Otimização de Scripts de Terceiros — 0,1s de velocidade móvel → +8,4% conversão; gerenciadores de tags correlacionam com pior INP — dados de velocidade a receita e custo de desempenho.