1
resposta

PWA e suas características

Olá,

Tenho uma dúvida em relação ao funcionamento offline de um PWA. Uma vez que o app é executado em um navegador, como é possível navegá-lo sem uma conexão com a internet?

Antes de escrever este tópico, a fim de entender melhor a tecnologia, fiz umas pesquisas sobre PWA, buscando encontrar um exemplo que rode offline no celular, porém infelizmente não consegui... (inclusive não consigo executar sua aplicação https://alura-cursos.github.io/ceep-pwa/ offline pelo Safari no meu smartphone).

Além disso gostaria também de saber se é possível enviar e receber informações de um usuário (normalmente através de um DB) estando puramente offline.

Obrigado, tenham um ótimo dia!

1 resposta

Olá Paulo, tudo bem? A PWA funciona da seguinte maneira, todos os dados necessários para 'compilar o site' são armazenados localmente no dispositivo que está conectando, ou seja, arquivos de estilos, mp3, imagens e javascript são guardados, dessa forma o usuário não terá que baixa-los de seu servidor novamente, a não ser que haja uma atualização nos arquivos que realizam a função do cacheamento. Nem todos navegadores tem suporte ainda, um deles é o Safari, que não possuí o cache storage, mas aceita os arquivos do manifest. Sobre o login é um dos items que podemos salvar localmente! Quando o usuário logar e a resposta do servidor for 'ok!', salvamos seus dados de login para que ele não precise ficar digitando todas as vezes a mesma coisa. Também é possível fazer isso através de sessions (PHP) ou de cookies. Espero ter ajudado! Já funções que dependem de uma base de dados, naturalmente não rodarão sem conexão por exemplo, carregar uma lista de comentários, mas em alguns casos... Da! Dê uma olhada em como funciona a wikipedia, eles tem uma função de leitura offline na qual 'streema' a tela e salva offline.

Olhe esse vídeo também! Tem bastante citações relacionadas a PWA https://www.youtube.com/watch?v=d5_6yHixpsQ

Fontes: Curso PWA da Alura, https://developer.mozilla.org/en-US/docs/Web/API/CacheStorage (suporte entre outros).