Um site que as pessoas instalam como uma app: o essencial de uma PWA

A resposta curta: uma PWA é um site normal a que se acrescentam duas coisas: um pequeno ficheiro que o descreve (o manifesto) e, se quiser que funcione sem rede, um programa de fundo (o service worker). Com isso, o navegador oferece «instalar», e o site abre com um ícone no ecrã, sem a barra do endereço. Precisa de https. Não é uma app das lojas: é o mesmo site.

O mínimo para o navegador oferecer «instalar»

1 O site tem de estar em https. Se ainda não está, veja HTTP ou HTTPS.
2 Crie o manifesto, um ficheiro manifest.webmanifest na pasta principal do site, com este conteúdo (troque os nomes e os ícones):
{
"name": "O nome completo do seu site",
"short_name": "O seu site",
"start_url": "/",
"display": "standalone",
"background_color": "#ffffff",
"theme_color": "#d60037",
"icons": [
{ "src": "/icone-192.png", "sizes": "192x192", "type": "image/png" },
{ "src": "/icone-512.png", "sizes": "512x512", "type": "image/png" }
]
}
3 Faça os dois ícones, quadrados, de 192 e de 512 píxeis, em PNG, e ponha-os nos caminhos que escreveu.
4 Ligue o manifesto à página, dentro da etiqueta <head>: <link rel="manifest" href="/manifest.webmanifest">. Num WordPress, um plugin de PWA faz isto por si: confirme o resultado em vez de confiar.
5 Confira no Chrome: F12, separador Application, secção Manifest. Os erros aparecem ali, com a causa.

E o funcionamento sem rede

O manifesto só dá o ícone e a janela sem barra. Para a página abrir quando não há ligação é preciso um service worker: um ficheiro JavaScript registado com navigator.serviceWorker.register('/sw.js') que decide o que guardar e quando. É a parte difícil, porque é código seu e porque guarda ficheiros no aparelho do visitante.

O que quer O que precisa
Só o ícone no ecrã e a janela limpa O manifesto e os ícones. Nada mais.
Abrir sem ligação Um service worker, com cuidado: o que guarda tem de se atualizar.
Estar nas lojas de apps Outra coisa: uma PWA não aparece lá por si só.
Um service worker mal escrito faz o visitante ver sempre a versão antiga do site, mesmo depois de a mudar. É o mesmo problema de Visitantes que ainda veem o CSS ou o logótipo antigo, mas pior, porque a cache está no aparelho dele e não a consegue limpar o seu servidor. Comece sem service worker e só o acrescente se precisar mesmo do modo sem rede.
No iPhone a instalação faz-se pelo botão de partilha, com «Adicionar ao ecrã principal», e não por um aviso do navegador. O site funciona na mesma. Para sites pesados, comece por tornar o site mais leve: uma PWA lenta continua lenta.

Quer saber se o seu site está pronto para ser instalado? Abra um pedido com o endereço e o que o Chrome mostrou.

Abrir pedido de suporte

VEJA TAMBÉM

HTTP ou HTTPS: o que muda para visitantes, formulários e serviços

Visitantes que ainda veem o CSS ou o logótipo antigo

Core Web Vitals em palavras simples

Um site que carrega bem com dados móveis lentos

PRODUTO RECOMENDADO

Alojamento de sites com cPanel

Domínio e SSL incluídos, cópias diárias e o painel que já conhece. desde 321,75 MT/mês (plano de 3 anos, com cupão)

Ver planos
  • 0 Utilizadores acharam útil
Esta resposta foi útil?