Web Periodic Background Synchronization API
Essa semana me deparei com esse post do Kyle Simpsom:
https://www.linkedin.com/posts/getify_web-periodic-background-synchronization-api-activity-7031664073209520129-VxHQ?utm_source=share&utm_medium=member_ios
Traducao:
Aqui está uma "magia" que me encantou novamente hoje. É chamado de "Sincronização Periódica", um recurso que permite que um operador de serviço de um aplicativo Web acorde periodicamente (por algumas dezenas de ms, no máximo) para fazer algo - sem interface do usuário, apenas em segundo plano - como, por exemplo, verificar com o servidor para ver se há alguma atualização de conteúdo.
Não, ele não pode fazer computação pesada como a mineração de bitcoin. Não, ele não pode espioná-lo. É um caso de uso muito restrito para esses eventos em segundo plano.
Eu tenho um aplicativo Web que eu criei que usa isso. Ele pode ser instalado como um PWA (com um SW), e eu até usei o PWABuilder para fazer um aplicativo nativo do Android envolvido em torno do PWA, para que ele pudesse ser instalado a partir da Google Play Store.
Eu fiz algumas pequenas atualizações para o conteúdo HTML do aplicativo ontem, e esbarrou a versão no SW, e empurrou-os para o servidor web. É isso. O aplicativo NÃO estava aberto no meu telefone. Mas periodicamente - cerca de uma ou duas vezes por dia - acorda para verificar se há atualizações e, em caso afirmativo, atualiza o cache em segundo plano.
Esta manhã, eu abri o aplicativo no meu telefone, e ele já tinha atualizado em segundo plano, em algum momento desde ontem!
Isso é tão bonito e incrível. Eu realmente não gosto do resto da web que não funciona assim.
É super triste que apenas os navegadores Chrome / * o suportem, FF e Safari tenham arrastado os pés ou resistido.
Essa noção de sincronização em segundo plano (juntamente com o poder dos trabalhadores de serviços) é potencialmente uma das partes mais importantes do que poderia tornar o futuro da Web melhor, e a maioria de vocês nunca ouviu falar desse pequeno recurso.
demo: https://webplatformapis.com/periodic_sync/periodicSync_improved.html