O que são Progressive Web Apps?

A web é uma plataforma incrível. A mistura de onipresença entre dispositivos e sistemas operacionais, o modelo de segurança centrado no usuário e o fato de que nem a especificação nem a implementação são controladas por uma única empresa. Assim, a Web é uma plataforma única para desenvolver softwares. Combinada com a capacidade de vinculação inerente, é possível pesquisar e compartilhar o que você encontrou com qualquer pessoa, em qualquer lugar. Sempre que você acessa um site, ele está atualizado, e sua experiência com esse site pode ser temporária ou permanente, como você quiser. Os aplicativos da Web podem alcançar qualquer pessoa, em qualquer lugar, em qualquer dispositivo com uma única base de código.

Aplicativos específicos de plataformas são conhecidos por serem incrivelmente avançados e confiáveis. Elas estão sempre presentes nas telas iniciais, nas bases e nas barras de tarefas. Eles funcionam independentemente da conexão de rede. Eles são lançados na própria experiência independente. Eles podem ler e gravar arquivos no sistema de arquivos local, acessar hardwares conectados via USB, porta serial ou Bluetooth e até mesmo interagir com dados armazenados no dispositivo, como contatos e eventos da agenda. Nesses apps, é possível fazer coisas como tirar fotos, ver músicas listadas na tela inicial ou controlar a reprodução de músicas em outro app. Os apps específicos da plataforma parecem parte do dispositivo em que são executados.

Um gráfico que ilustra as capacidades relativas e o alcance de aplicativos específicos da plataforma, com altos recursos, aplicativos da web, com alto alcance, e Progressive Web Apps, que têm alto recursos e alto alcance.
Capacidades em relação ao alcance de apps específicos da plataforma, da Web e Progressive Web App.

Se você pensar em apps da Web e específicos da plataforma em termos de recursos e alcance, os apps específicos da plataforma representam os melhores recursos, enquanto os apps da Web representam o melhor alcance. Então, onde os Progressive Web Apps se encaixam?

Os Progressive Web Apps (PWA) são criados e aprimorados com APIs modernas, para oferecer recursos, confiabilidade e capacidade de instalação aprimorados, além de alcançar qualquer pessoa, em qualquer lugar, em qualquer dispositivo com uma única base de código.

Os três pilares dos apps

Progressive Web Apps são aplicativos da Web projetados para serem potentes, confiáveis e instaláveis. Esses três pilares os transformam em uma experiência que parece um aplicativo específico da plataforma.

Dispositivos

Hoje em dia, a Web é bastante capaz por si só. Por exemplo, é possível criar um app de chat por vídeo hiperlocal usando WebRTC, geolocalização e notificações push. Você pode tornar esse app instalável e tornar as conversas virtuais virtuais com a WebGL e a WebVR. Com o lançamento do WebAssembly, os desenvolvedores podem explorar outros ecossistemas, como C, C++ e Rust, e trazer décadas de trabalho e recursos para a Web. Squoosh.app, por exemplo, usa isso para a compactação avançada de imagem.

Até pouco tempo atrás, apenas aplicativos específicos de plataformas podiam realmente afirmar esses recursos. Embora alguns recursos ainda estejam fora do alcance da Web, APIs novas e futuras querem mudar isso, expandindo o que a Web pode fazer com recursos como acesso ao sistema de arquivos, controles de mídia, selos de apps e suporte total à área de transferência. Todos esses recursos são criados com o modelo de permissões seguro e centrado no usuário, garantindo que ir a um site nunca seja assustador para os usuários.

Com APIs modernas, WebAssembly e APIs novas e futuras, os aplicativos da Web estão mais capazes do que nunca, e esses recursos só estão crescendo.

Confiável

Um Progressive Web App confiável parece rápido e confiável, independentemente da rede.

A velocidade é um fator essencial para que os usuários usem sua experiência. Na verdade, conforme os tempos de carregamento da página vão de 1 a 10 segundos, a probabilidade de um usuário pular aumenta em 123%. A performance não é interrompida após o evento onload. Os usuários nunca devem se perguntar se a interação, por exemplo, clicar em um botão, foi registrada ou não. A rolagem e a animação precisam ser suaves. O desempenho afeta toda a experiência do usuário, desde como ele percebe o aplicativo até o desempenho real.

Por fim, aplicativos confiáveis precisam ser utilizáveis independentemente da conexão de rede. Os usuários esperam que os apps sejam iniciados em conexões de rede lentas ou instáveis ou mesmo off-line. Ele espera que o conteúdo mais recente com que interagiu, como faixas de mídia, ingressos e itinerários, esteja disponível e possa ser usado, mesmo que seja difícil receber uma solicitação ao servidor. Quando uma solicitação não é possível, eles esperam ser informados de que há um problema, em vez de falhar ou falhar silenciosamente.

Os usuários merecem ter apps que respondam à interação em um piscar de olhos e uma experiência da qual possam confiar.

Instalável

Os Progressive Web Apps instalados são executados em uma janela independente, e não em uma guia do navegador. Eles podem ser iniciados na tela inicial, no dock, na barra de tarefas ou na estante do usuário. É possível pesquisar por eles em um dispositivo e navegar entre eles com o seletor de apps, fazendo com que pareçam parte do dispositivo em que estão instalados.

Novos recursos são abertos depois que um aplicativo da Web é instalado. Os atalhos de teclado, geralmente reservados durante a execução no navegador, ficam disponíveis. Os Progressive Web Apps podem se registrar para aceitar conteúdo de outros aplicativos ou para ser o aplicativo padrão a processar diferentes tipos de arquivos.

Quando um App Web Progressivo sai de uma guia e se transforma em uma janela de app independente, o modo como os usuários pensam e interagem com ele é modificado.

O melhor dos dois mundos

Em essência, os Progressive Web Apps são apenas aplicativos da Web. Com o aprimoramento progressivo, novos recursos são ativados em navegadores mais recentes. Com o uso de service workers e um manifesto de app da Web, seu aplicativo da Web se torna confiável e pode ser instalado. Mesmo que os novos recursos não estejam disponíveis, os usuários continuam tendo acesso à experiência principal.

Os números não mentem! As empresas que lançaram Progressive Web Apps tiveram resultados impressionantes. Por exemplo, o Twitter teve um aumento de 65% nas páginas por sessão, 75% mais tweets e uma redução de 20% na taxa de rejeição, tudo isso reduzindo o tamanho do app em mais de 97%. Depois de mudar para um PWA, a Nikkei teve 2, 3 vezes mais tráfego orgânico, 58% mais assinaturas e 49% mais usuários ativos por dia. O Hulu substituiu a experiência específica da plataforma no computador por um App Web Progressivo e teve um aumento de 27% nas visitas de retorno.

Os Progressive Web Apps oferecem uma oportunidade única de oferecer uma experiência da Web que seus usuários vão adorar. Usando os recursos mais recentes da Web para oferecer recursos e confiabilidade aprimorados, os Progressive Web Apps permitem que o que você cria seja instalado por qualquer pessoa, em qualquer lugar e em qualquer dispositivo com uma única base de código.