Nos últimos anos cresceu o acesso web de usuários via mobile, superando o acesso via desktop. Tornando o antigo problema de mobile websites serem lentos em um problema real e maior ainda. Foi então, que surgiram os Progressives Web Apps (PWA) com a solução a esse problema.
Em 2015, Google, Twitter, The Guardian, The Washigton Post, Uol e outros gigantes da comunicação desenvolveram uma das iniciativas para melhorar a performance das aplicações web, criando o Accelerateds Mobile Pages Project (AMP). A intenção era oferecer páginas estáticas de rápido carregamento. Na mesma época houve a aproximação entre a experiência nativa e a web, como os Frameworks para a “hibridização”.
Mas os problemas são bem maiores e mais sistêmicos. As ferramentas de desenvolvimento web estão em constante evolução, recentemente, uma série de princípios e funcionalidades estão crescendo. As novas ferramentas prometem diminuir o Gap entre a experiência de um app nativo e uma web app.
O que são as Progressives Webs Apps (PWA)
Usamos os aplicativos de celular diariamente, desde utilitários, redes sociais, aplicativos de mensagens e tocadores de música. Esses aplicativos são bem eficientes para atender à velocidade e a eficácia esperada. Mas há ainda problemas nos websites mobile. Eles continuam pesados, o que os tornam lentos e pesados. Assim travando o navegador diversas vezes e nos causando “stress”.
As grandes empresas como o Facebook e o Google criaram o Facebook Instant Articles e o Google Accelerated Mobile Pages para driblar problemas de performance de site mobile. Apesar de ser um contorno ao problema, essas iniciativas levam o usuário a abrir o aplicativo original de onde o usuário veio.
O Progressive Web App é diferente do aplicativo nativo e web. Ele se torna progressivamente mais app, tudo vai depender do engajamento e interatividade que você tem com a página. Começa com uma simples aba no Chrome e se torna uma web app, passando a ter funções, que antes eram exclusivas dos aplicativos nativos: Geolocalização, notificações, uso off-line e outros.
Os Progressives Web App são vantajosos aos clientes, pois estes não precisam se comprometer a baixar um aplicativo antes de verificar se realmente vale a pena. Eles vieram solucionar um dos maiores problemas dos apps nativos e tornando a barreira completamente invisível e gradual.
Mas há mais vantagens, além de não passar por todo o processo de download e instalações do aplicativo nativo. As vantagens técnicas são: ele é reponsivo, independente de conexão, interação tão avançada quanto os aplicativos, ele sempre está atualizado, é seguro, SEO-friendly, reengajáveis, instalável e Linkável.
Como construir um Progressive Web Apps?
-Ele deve ser construído com uma base comum, que garanta o aprimoramento progressivo da página em diversos navegadores. E depois acrescentar melhorias para navegadores mais modernos.
– Ele deve se adequar (ser responsível) a qualquer dispositivo.
– Conseguir usar o cache e service workers que permitam boa utilização,sob conexões de baixa qualidade ou off-line.
– Utilização do App Shell Architecture promove a “sensação” se utilizar um aplicativo nativo, tanto na hora de navegar quanto nas interações.
– Sempre está atualizado, não precisando baixar uma atualização do aplicativo de tempos em tempos.
– Ser identificado com aplicação pelo Search Engine e pelos Browsers.
-O Progressives Web App é devidamente servido pelo protocolo TLS.
Qual a diferença entre o PWA x o Aplicativo Web e o Aplicativo Nativo?
A disputa entre eles vêm ocorrendo há anos. Mas aos poucos as funcionalidades dos aplicativos nativos (como geolocalização ou push notifications) chegaram até o browser e diminuíram a barreira entre eles.
A Progressives Web App deve ser construída pelo próprio app, favorecendo o estreitamento em relação ao usuário e ao aplicativo. Se a aplicação for usada continuamente, o usuário deve ser beneficiado com recursos agregadores para sua experiência. Como: carregamento mais rápido (service workers), recebimento de notificações relevantes, possibilidade de instalação do app e exibição em tela cheia.
Como funciona o PWA?
O funcionamento de um bom Progressive Web Applications se baseia nas estruturas a Application Shell Architecture e os Service Workers.
Service Workers
São scripts que rodam em background, eles são capazes de interceptar e responder a diversos eventos, como as Http. Eles são instalados na própria aplicação e permanecem ativos mesmo que a aplicação não esteja aberta no browser. Por eles, é possível tratar falhas na conexão de rede do usuário.
Application Shell Architecture (ASA)
Está relacionada à capacidade dos service workers de interceptar, armazenar e retornar recursos para a aplicação. Nesta ferramenta, o service worker é responsívelpor fazer o primeiro cache (API) da estrutura básica da aplicação, como imagens, arquivos HTML, CSS e JavaScript. A estrutura básica da ASA é estática, e é servida pelo Service Worker.
Desvantagens do PWA
Há desvantagens dos Progressives Web Apps em relação à construção dos aplicativos nativos.
Os Progressives Web Apps ainda não controlam totalmente o hardware do device;
A Apple ainda não aposta nos PWAs. Isso, porque o Safari ainda não suporta o push notifications e os funcionamentos off-line.