Os Apps Web Progressivos (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 moderna da Web, e não PWAs por coincidência, é que o app precisa continuar funcionando mesmo que o dispositivo esteja off-line. Isso significa que não haverá tela do Chrome Dino se o usuário perder o acesso à rede no dispositivo.
O objetivo de todos os critérios de PWA é garantir que os usuários tenham uma experiência de alta qualidade e competitiva ao navegar na Web. O Chrome realiza verificações de critérios de PWA antes de ativar o recurso de instalação de um PWA.
Somente os apps que atendem a todos os principais critérios de instalabilidade de Progressive Web Apps, incluindo o 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 instalabilidade de PWA há vários anos. Até pouco tempo atrás, o Chrome não tinha a capacidade de simular solicitações pelo service worker. Por isso, 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
retornou um recurso válido com HTTP 200 durante a verificação off-line.
O Chrome só verifica se o service worker tem um manipulador fetch
.
Atualização da lógica de detecção off-line
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 melhorada reflita melhor o suporte off-line real do aplicativo.
Planejamos usar esse novo recurso para garantir que os PWA ofereçam uma página válida
quando estiverem off-line, mas suspendemos esses planos. A verificação de instalabilidade
continuará sendo bem-sucedida se a página tiver um worker de serviço que inclua um
gerenciador de eventos fetch
.
O que isso significa para os desenvolvedores?
Embora nenhuma mudança seja necessária no momento, 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 no futuro.
Você decide que tipo de experiência off-line quer oferecer. Em um extremo do espectro, há uma experiência totalmente funcional off-line. Isso significa armazenar em cache todos os recursos e dados necessários e sincronizar dados com seu servidor quando o usuário estiver on-line novamente. Armazenar recursos em cache também ajuda a melhorar as métricas do Core Web Vitals, porque elimina a necessidade de fazer o download de recursos da rede sempre. Do outro lado do espectro, há uma página de fallback off-line personalizada.
O aviso mostrado na guia Issues das Ferramentas para Desenvolvedores será removido no Chrome 90.