Progressive Web App (PWA) é o futuro?

...

Fala pessoal, estamos de volta!

Após um pequeno hiato, voltamos com novidades:

A nossa Newsletter está no ar!

Se você quiser acompanhar o Blog, basta se cadastrar e será informado sempre que um novo post for realizado.

Chega de papo, vamos a pergunta que estamos fazendo no título desta postagem... Será o PWA (Progressive Web Apps) o futuro?

Primeiro precisamos falar sobre o que é um PWA, conforme definição na Wikipédia:

Progressive Web App (PWA) é um termo usado para denotar uma nova metodologia de desenvolvimento de software. Ao contrário dos tradicionais aplicativos, um Progressive Web App pode ser visto como uma evolução híbrida entre as páginas da web regulares (ou sites) e um aplicativo móvel. Este novo modelo de aplicação combina recursos oferecidos pelos mais modernos navegadores, com as vantagens de uso de um celular.

Vantagens na utilização do PWA:

  • Progressivo: para qualquer usuário, independente do browser;
  • Responsivo: feito para qualquer dispositivo: desktop, tablet e mobile;
  • Conexão: funciona mesmo se o usuário estiver offline;
  • App-like: o usuário se sente em um aplicativo nativo;
  • Atualizado: não é necessário baixar atualizações do aplicativo, o browser simplesmente irá detectar e atualizar automaticamente, caso necessário;
  • Seguro: Só funciona com protocolo https;
  • Comunicação: através de push notifications, o usuário pode ser constantemente notificado;
  • Instalável: é possível adicionar um ícone na tela principal do aparelho com apenas um clique.


A batalha:


Batalha


Um pequeno comparativo:

 APP NATIVOAPP HÍBRIDOPWA
InvestimentoAltoMédioBaixo
Tempo de desenvolvimentoLongoMédioRápido
PerformanceMelhorMédiaBaixo
Experiência do Usuário (UX)MelhorMédiaSimples
Download nas App StoresSimSimApenas na Play Store
Funciona OfflineSimSimSim
Envia Notificação PushSimSimSim
Acesso à CâmeraSimSimSim
Acesso à GeolocalizaçãoSimSimSim
Acesso a funcionalidades do celularTodasQuase todasAlgumas


O PWA não é indicado para jogos e apps que utilizam a parte gráfica do aparelho, pois não possuem suporte nativo a diversos recursos e a experiência do usuário será severamente comprometida.

Dificilmente teremos um consenso, o importante é sempre analisar a necessidade do usuário final, criar uma lista de prós e contras em utilizar cada tecnologia, só assim você encontrará a solução ideal para o desenvolvimento do seu produto.

Até breve!