Melhoria na detecção do suporte a Progressive Web App off-line

Penny McLachlan
Penny McLachlan

Os Progressive Web Apps (PWAs) são um padrão para criar aplicativos modernos e instaláveis usando a tecnologia da Web para dispositivos móveis e desktop.

Um dos critérios para criar uma experiência moderna na Web, e não por engano, PWAs, é que o app precisa continuar funcionando mesmo se o dispositivo estiver off-line. Isso significa que nenhuma tela do dinossauro do Chrome será exibida se o usuário perder o acesso à rede no dispositivo.

O objetivo de todos os critérios de PWA é ajudar a garantir que os usuários tenham uma experiência competitiva e de alta qualidade ao navegar na Web. O Chrome verifica os critérios de PWA antes de ativar o recurso de instalação.

Somente apps que atendem a todos os principais critérios de instalação de Progressive Web App, incluindo suporte a um modo off-line, podem ser instalados no dispositivo a partir do Chrome.

Lógica de detecção off-line anterior

A verificação do suporte off-line faz parte dos critérios de instalação de PWAs há vários anos. Até recentemente, o Chrome não tinha a capacidade de simular solicitações por meio do service worker. Portanto, não era possível fazer uma verificação completa do comportamento off-line correto.

Diagrama do service worker

Isso significa que o Chrome não conseguiu validar se o manipulador de eventos fetch retornava um recurso válido com HTTP 200 durante a verificação off-line. O Chrome só verificou se o service worker realmente tinha um gerenciador fetch.

Lógica de detecção off-line atualizada

O Chrome 89 adicionou a capacidade de executar solicitações off-line simuladas usando o service worker, permitindo que a lógica de detecção off-line aprimorada reflita melhor o suporte off-line real do aplicativo.

Tínhamos planejado usar essa nova capacidade para garantir que os PWAs fornecessem uma página válida quando off-line, mas saíssem desses planos. A verificação de instalação vai continuar sendo aprovada se a página tiver um service worker que inclua um manipulador de eventos fetch.

O que isso significa para os desenvolvedores?

Embora nenhuma mudança seja necessária agora, recomendamos que você forneça uma experiência off-line, já que esperamos usar a lógica atualizada para verificar se há uma página válida em algum momento no futuro.

Cabe a você decidir que tipo de experiência off-line quer oferecer. Por um lado, temos a experiência off-line totalmente funcional. Isso significa armazenar em cache todos os recursos e dados necessários e sincronizar os dados com o servidor quando o usuário ficar on-line novamente. O armazenamento em cache de recursos também ajuda a melhorar as principais métricas da Web, porque elimina a necessidade de fazer o download de recursos da rede sempre. Na outra ponta do espectro está uma página substituta off-line personalizada.

O aviso exibido na guia Problemas das ferramentas para desenvolvedores será removido no Chrome 90.