Os Progressive Web Apps (PWAs) são um padrão para criar aplicativos modernos e instaláveis usando tecnologia da Web para dispositivos móveis e computadores.
Um dos critérios para criar uma experiência da Web moderna, e não por acaso PWAs, é que o app precisa continuar funcionando mesmo se o dispositivo estiver off-line. Isso significa que não vai aparecer a tela do Chrome Dino 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 de alta qualidade e competitiva com apps ao navegar na Web. O Chrome faz verificações nos critérios de PWA antes de ativar a capacidade de instalação de um PWA.
Somente apps que atendem a todos os critérios de capacidade de instalação de Progressive Web Apps principais, incluindo suporte a um modo off-line, podem ser instalados no dispositivo pelo Chrome.
Lógica de detecção off-line anterior
A verificação do suporte off-line faz parte dos critérios de capacidade de instalação de PWAs há vários anos. Até recentemente, o Chrome não tinha a capacidade de simular solicitações pelo service worker, então não era possível fazer uma verificação completa do comportamento off-line correto.
Isso significa que o Chrome não tinha a capacidade de validar se o manipulador de eventos fetch
retornava um recurso válido com HTTP 200 durante a verificação off-line.
O Chrome só verificava se o service worker tinha um manipulador fetch
.
Lógica de detecção off-line atualizada
O Chrome 89 adicionou a capacidade de executar solicitações off-line simuladas pelo 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 offline, mas colocamos esses planos em espera. A verificação de capacidade 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ê ofereça uma experiência off-line, já que esperamos usar a lógica atualizada para verificar uma página válida em algum momento no futuro.
Você decide que tipo de experiência offline quer oferecer. Em uma extremidade do espectro, há uma experiência off-line totalmente funcional. Isso significa fazer o pré-cache de todos os recursos e dados necessários e sincronizar os dados com seu servidor quando o usuário estiver on-line novamente. O armazenamento em cache de recursos também ajuda a melhorar as métricas de Core Web Vitals porque elimina a necessidade de baixar recursos da rede todas as vezes. No outro extremo do espectro, há uma página de substituição off-line personalizada.
O aviso mostrado na guia Problemas das ferramentas para desenvolvedores será removido por volta do Chrome 90.