Embora os PWAs já existam há mais de três anos, poucos grandes players adotaram essa filosofia. Foto: Pexels.

Por Caio Nogueira*
Ultimamente, tem havido muito burburinho em torno dos Progressive Web Apps (PWAs), com muitos afirmando ser o futuro do desenvolvimento web, especialmente em termos de dispositivos móveis. 

Em sua essência, um Progressive Web App (PWA) é simplesmente um aplicativo da Web que usa técnicas modernas da Web para fornecer uma experiência nativa de aplicativo aos usuários. São aplicativos da Web com aprimoramento progressivo para implementar recursos como armazenamento em cache, sincronização em segundo plano e notificações push.

 

Embora os PWAs já existam há mais de três anos, a resposta é bastante desanimadora. Poucos grandes players adotaram essa filosofia, mas a maioria ainda não aderiu. O Chrome e o Mozilla são, talvez, os melhores navegadores para testar seus PWAs, já que a Apple ainda precisa entrar nesse assunto.

 

PWA - realmente vale a pena?

Por um lado, temos aplicativos nativos que são, sem dúvida, rápidos e eficientes na maioria dos casos. Por outro lado, existem sites que são meio lentos e com problemas de conectividade, isso só piora.

O Accelerated Mobile Pages Project (AMP), liderado pelo Twitter e pelo Google, foi lançado em 2016 para solucionar especificamente esses problemas de conexão lenta. Os PWAs funcionam perfeitamente em todos os cenários possíveis. Com uma boa conexão, nunca há um problema. O problema é quando não temos conexão e somos recebidos com a página de erro.

Mas isso pode se tornar mais irritante se tivermos uma conexão lenta. A página parece estar carregando e tudo o que vemos é uma tela em branco. Nós apenas esperamos, esperamos e esperamos, mas a página parece não carregar. É aqui que o PWA vem nos ajudar.

A melhor parte sobre PWAs é que é possível obter a melhor experiência de usuário possível em uma conexão lenta, e até mesmo sem uma conexão.

 

Por que faz sentido usar o PWA

De acordo com a Lei de Pareto, 20% das suas ações geram 80% dos seus resultados. A mesma lógica pode ser aplicada em relação ao uso dos aplicativos, de forma que 80% do tempo dos usuários geralmente são usados em 20% de seus aplicativos. Na realidade, a grande maioria das pessoas usa quase todo seu tempo em apenas 3 ou 4 de seus aplicativos.

Os outros aplicativos ficam inativos durante a maior parte do tempo, consumindo uma parte preciosa da memória. Além disso, custa cerca de dez vezes para desenvolver um aplicativo em vez de criar um site ou loja virtual para o mesmo. O custo pode ser muito maior se você planeja desenvolver e manter bases de código separadas para diferentes plataformas, como Android, iOS e a web.

 

Recursos do aplicativo nativo que os PWAs podem usar

- Notificações via push

- Tela cheia

- Trabalho off-line

- Telas de aberturas (ou splash screens) são suportadas

Os PWAs podem usar muitos outros recursos desse tipo. Os pontos acima são apenas para lhe dar uma dica do que os PWAs são capazes de fazer. No entanto, existem alguns recursos tradicionais que somente os aplicativos nativos desfrutam a partir de agora.

 

Recursos do aplicativo nativo que os PWAs não podem usar a partir de agora

- Acesso altamente restritivo a diferentes sensores de hardware

- Alarmes

- Acesso à agenda telefônica

- Modificações nas configurações do sistema

Os PWAs estão evoluindo rapidamente e podemos esperar que esses recursos entrem em ação em breve.

 

Dois principais componentes de um PWA

App Manifest

É um arquivo JSON que define um ícone de aplicativo, como iniciar o aplicativo (autônomo, tela inteira, no navegador, etc.) e qualquer informação relacionada. Está localizado na raiz do seu aplicativo. Um link para este arquivo é necessário em cada página que precisa ser renderizada.

É adicionado na seção head da página HTML:

<link rel=”manifest" href="/manifest.json">

 

Service Worker

Serviço é onde a maior parte da mágica acontece. Não é nada além de código JavaScript que atua como proxies programáveis ​​unicamente responsáveis ​​por interceptar e responder a solicitações de rede. Como ele funciona como um proxy e pode ser facilmente programável, o aplicativo deve ser servido por HTTPS para manter os dados seguros.

Vale a pena notar que o service worker armazena em cache a resposta real, incluindo todos os cabeçalhos HTTP, ao invés de armazenar apenas os dados de resposta. Isso significa que seu aplicativo pode simplesmente fazer solicitações de rede e processar a resposta sem nenhum código específico para manipular o cache.

 

Por onde eu começo?

Lembre-se do slogan da Apple: "There's an app for that"?  

Bem, a realidade é que você não precisa de um aplicativo para tudo. Isto é especialmente verdadeiro para os diversos aplicativos mal projetados que não aproveitaram as funcionalidades oferecidas no hardware e no sistema operacional do dispositivo. Em outras palavras, eles não maximizam as qualidades de um app mobile first.

Criar um aplicativo não significa que os usuários usem seu aplicativo, muito menos baixem ele em seus dispositivos. A alternativa da PWA colocará ainda mais pressão sobre as empresas para projetar e desenvolver aplicativos móveis verdadeiramente atraentes, hiper-personalizados e mobile-first.

Faça um inventário de seus aplicativos móveis existentes e avalie quais deles podem ser reproduzidos simplesmente com a tecnologia PWA baseada em requisitos de recursos funcionais. A menos que haja motivos específicos para desenvolvê-los como aplicativos móveis instalados - como alta segurança no dispositivo ou requisitos de desempenho da interface do usuário - migre-os para um PWA baseado na Web.

A melhor coisa sobre como começar é que é bem mais fácil do que parece. Na verdade, é muito possível pegar um site existente e convertê-lo em um PWA. Eu sugiro que antes de mais nada você veja isso se você realmente pretende desenvolver um PWA.

*Caio Nogueira é co-fundador da UpSites e especialista na criação e otimização de sites profissionais para empresas e profissionais libeirais que desejam aumentar suas vendas através da internet.