Progressive Web App: tecnologia, vantagens e desvantagens

Publicados: 2022-11-24

A febre do celular afeta a todos, e as lojas online não são exceção. Cada marca precisa ter uma presença móvel hoje em dia. É assim que pode ser feito:

  • Um web design responsivo, que envolve ajustar o conteúdo do site para caber no tamanho de dispositivos móveis e tablets;
  • Um aplicativo móvel nativo, que pode ser caro, mas é desenvolvido especificamente para smartphones;
  • Um aplicativo da web progressivo (PWA) que combina elementos da web e aplicativos nativos.

O Progressive Web App (PWA) é um conjunto de tecnologias que permite instalar um site em um dispositivo como um aplicativo. Isso significa que você não precisa desenvolver aplicativos iOS e Android junto com o site. Além disso, os PWAs não são tão difíceis de desenvolver: por exemplo, sua equipe pode fazer isso personalizando temas prontos como o estúdio Magento 2 PWA.

Os PWAs são usados ​​mais amplamente do que você pode imaginar. É usado para comércio eletrônico, projetos educacionais, empresas de viagens, serviços de streaming e outros. As principais marcas, como Agent Provocateur, UK Meds, Alibaba e Eleganza, usam aplicativos PWA como base ou em adição aos seus aplicativos móveis.

Índice mostra
  • Arquitetura Progressive Web App (PWA)
    • Trabalhadores de serviços
    • Shell de aplicativo
    • Manifesto do aplicativo da Web
    • Cache
  • Benefícios do Progressive Web App (PWA)
    • Grande performance
    • Melhor visibilidade
    • UX semelhante a um aplicativo
    • Suporte cruzado
    • Menor custo de desenvolvimento
    • Funciona offline
    • Não há necessidade de colocar o aplicativo nas App Stores
  • Desvantagens do Progressive Web App (PWA)
    • Compatibilidade insuficiente com iOS
    • Funcionalidade Limitada
    • Maior consumo de bateria
  • Como funciona o processo de instalação?
  • Que resultados você pode esperar?

Arquitetura Progressive Web App (PWA)

PWA-progressive-web-app

A maioria dos sites tem uma arquitetura monolítica. Isso significa que seu front-end é gerado no back-end. E quando um usuário solicita uma página da Web, o servidor produz uma página HTML recuperando informações específicas do usuário e enviando-as pela Internet para o dispositivo do usuário. Quando o usuário abre outra página no site, o processo se repete.

Uma alternativa à arquitetura monolítica é sem cabeça. Implica uma divisão frontal e traseira. O PWA é um tipo de site sem cabeça. Como resultado, apenas uma página HTML básica com um arquivo JavaScript é recebida do servidor no carregamento inicial. O restante do site é renderizado usando o navegador em vez de receber todo o material diretamente do back-end.

Como resultado, o PWA recebe suas melhores qualidades, como bom UX, alta velocidade, capacidade de resposta etc. Aqui estão os principais elementos do PWA.

Recomendado para você: Estruturas mais populares para criar aplicativos da Web progressivos (PWAs).

Trabalhadores de serviços

Os scripts conhecidos como “service workers” operam em segundo plano no navegador. Eles operam sem uma página da web e possuem ótimos recursos, como lidar com notificações e gerenciar solicitações de rede. Até agora, ele suporta funções como cache, sincronização em segundo plano, modo offline e notificações push.

Shell de aplicativo

Os códigos HTML, CSS e JavaScript fundamentais necessários para alimentar uma interface de usuário são chamados de shells de aplicativos. É a espinha dorsal do aplicativo. Quando um usuário inicia um aplicativo Web progressivo, o shell do aplicativo é a primeira coisa a carregar. Isso garante que a interface carregue imediatamente, mesmo quando o usuário estiver offline. Além disso, o shell do aplicativo pode ser armazenado em cache para permitir o carregamento rápido em visitas futuras.

Manifesto do aplicativo da Web

O manifesto Web-App é o elemento responsável pela aparência do PWA em plataformas de desktop e móveis. Com sua ajuda, é possível controlar como os PWAs são exibidos para todos os usuários. Um navegador da Web examina o arquivo de manifesto quando se conecta pela primeira vez a uma rede, baixa os recursos e os armazena localmente. O aplicativo da web pode ser usado sem uma conexão com a Internet usando o cache local do navegador.

Cache

A abordagem de armazenamento em cache elimina a necessidade de obter dados repetidamente da fonte. Isso é feito armazenando temporariamente os dados em um centro de dados de terceiros ou no dispositivo de um usuário. Em vez de obtê-lo da fonte, ele pode ser carregado do cache.

Você pode implementar uma variedade de técnicas de cache em seu PWA. O armazenamento em cache de ativos inteiros é o mais comum. Isso implica que o conteúdo estático e dinâmico é incluído no cache.

Armazenar ativos parciais em cache é outra tática. Usando esse método, você só pode armazenar em cache determinados materiais, como scripts ou fotos. Isso pode ser eficaz para páginas em que a maior parte do conteúdo é dinâmico.

Benefícios do Progressive Web App (PWA)

polegar para cima-pro-como-positivo-mais-alto-bom

De acordo com a Statista, em 2021, cerca de 75% das vendas globais de varejo no comércio eletrônico foram feitas por meio de canais móveis. Em 2017, os números e previsões para o futuro eram assim:

O número de usuários de dispositivos móveis está crescendo rapidamente, portanto, a introdução do PWA está se tornando mais crítica do que nunca. Aqui estão alguns dos recursos dos sites PWA aos quais vale a pena prestar atenção.

statista-share-ecommerce-sales

Fonte da imagem: Statista.

Grande performance

O PWA usa service workers em segundo plano para realizar tarefas trabalhosas, o que resulta em um tempo de carregamento melhor. Esses scripts operam independentemente da página da Web e pré-buscam todas as informações necessárias para manter uma navegação rápida e suave. Além disso, como os scripts não estão ativos na página, eles não afetam a velocidade de carregamento da página. A navegação pelo aplicativo torna-se virtualmente rápida depois que os dados são armazenados em cache.

Melhor visibilidade

Maior visibilidade é fornecida pela opção “adicionar à tela inicial”. Os clientes podem encontrar o aplicativo com apenas um clique e selecionar o produto sem distrações. E se eles colocarem o produto no carrinho, você pode incentivá-los posteriormente a comprá-lo enviando notificações sobre descontos ou ofertas especiais.

UX semelhante a um aplicativo

Os PWAs se comportam como sites e têm um design semelhante ao aplicativo nativo. Além disso, os PWAs e os aplicativos nativos têm um impacto comparável na experiência do usuário e compartilham muitos recursos, como acesso ao banco de dados e dados automáticos.

Suporte cruzado

Os PWAs são capazes de operar em qualquer lugar. Para aqueles que tendem a alternar entre diferentes dispositivos, o suporte cruzado está disponível em todos os lugares. Quando se trata de empresas que dependem de PWAs, é crucial fornecer aos funcionários um software com o melhor desempenho, seja uma plataforma ou uma versão de aplicativo.

Menor custo de desenvolvimento

O desenvolvimento de aplicativos nativos requer duas bases de código distintas. Por exemplo, a criação de aplicativos nativos requer desenvolvedores qualificados em Swift ou Objective-C para desenvolvimento iOS e Kotlin ou Java para Android, o que é caro. Os aplicativos da Web progressivos, por sua vez, dependem de linguagens de programação amplamente utilizadas, como HTML, CSS e JavaScript. Além disso, sua manutenção exige uma única equipe especializada em desenvolvimento web.

Funciona offline

Um dos recursos proeminentes do PWA é a navegação offline. Se sua conexão falhar, você não perderá o acesso a dados e serviços cruciais.

O PWA permite navegar no aplicativo offline armazenando em cache e salvando alguns dos dados vistos no aplicativo. Ele também melhora o desempenho lidando com recursos em cache e permitindo notificações push, mesmo offline.

Não há necessidade de colocar o aplicativo nas App Stores

A liberação de seu aplicativo nas lojas de aplicativos está associada à despesa adicional do projeto. Algumas lojas cobram um pagamento antes mesmo do lançamento e exigem que o projeto passe por um tedioso processo de publicação e certificação. Essa estratégia aumenta os preços e alonga seu tempo médio de mercado, o que pode ocasionalmente levar à perda de feriados promocionais ou à emissão de lançamentos não testados para cumprir um prazo.

Com o PWA, você pode evitar todo o problema da loja de aplicativos. Os PWAs são práticos tanto para clientes quanto para empresas, pois permitem que os clientes usem seu aplicativo e recebam atualizações sem precisar baixá-lo ou aguardar uma nova rodada de verificação.

Você pode gostar: React Native vs Flutter vs PWA: Battle of Trending Mobile App Frameworks.

Desvantagens do Progressive Web App (PWA)

polegares para baixo-contras-não gosto-negativo-menos-baixo-ruim

Ao escolher que tipo de aplicativo móvel introduzir para o seu negócio, considere que, como a tecnologia é relativamente nova, existem algumas falhas que você deve considerar.

Compatibilidade insuficiente com iOS

Nem todos os recursos do PWA são suportados pelo iOS. Comparado ao Android, o suporte para service workers é muito limitado. Você só pode salvar os dados do aplicativo e armazenar em cache seus arquivos (sem tarefas em segundo plano). O armazenamento tem um limite de 50Mb. Devido a isso, o acesso de muitos usuários aos PWAs é restrito. Também há limitações para o uso de algumas funções integradas, como Siri, pagamentos no aplicativo etc. A experiência do usuário no PWA perde em comparação com o UX oferecido por aplicativos nativos. O que é uma perda genuína em um mundo onde o UX é pelo menos tão importante quanto o marketing.

Funcionalidade Limitada

Nem todos os recursos do dispositivo podem ser usados. Por exemplo, você não pode acessar contatos, calendários ou Bluetooth. Um aplicativo nativo é frequentemente preferível a um PWA quando seu aplicativo precisa utilizar extensivamente o hardware de um dispositivo. Por exemplo, soluções baseadas em Bluetooth, como compartilhamentos de arquivos ou mensageiros Bluetooth, normalmente são desenvolvidas nativamente.

Maior consumo de bateria

O fato de serem criptografados em códigos complicados torna mais difícil para os telefones decodificá-los. Como resultado, os PWAs usam mais bateria do que os aplicativos nativos.

Como funciona o processo de instalação?

Vamos ver como funciona o processo de instalação em um exemplo de Lancome.com

  1. Um usuário abre um site em um navegador em seu dispositivo móvel.
  2. O usuário vê um pop-up com uma oferta. Por exemplo, “Adicione o aplicativo à tela inicial”.
  3. O usuário instala o aplicativo com um clique.
  4. O usuário toca em um ícone e o site é aberto.
PWA-progressive-web-app-screenshot-lancome

Fonte da imagem: Lancôme.

Você também pode gostar: Magento PWA Studio: A ferramenta Progressive Web App para Magento!

Que resultados você pode esperar?

Progressive Web Apps produzem excelentes resultados para as empresas que os lançam. Por exemplo, de acordo com web.dev, depois de reduzir o tamanho de seu aplicativo em quase 97%, o Twitter teve um aumento de 65% nas visualizações de página por sessão, 75% mais Tweets e uma queda de 20% na taxa de rejeição. Ele também teve 2,3 vezes mais tráfego orgânico, 58% mais assinantes e 49% mais usuários ativos diários após a conversão para um PWA. O Hulu teve um aumento de 27% em visitantes recorrentes com a introdução de um Progressive Web App, além de sua experiência de desktop específica para a plataforma.

Com aplicativos da web progressivos, você tem uma chance única de oferecer uma experiência fantástica na web para seus usuários. Os PWAs usam as tecnologias da web mais recentes para permitir que o que você faz seja usado por qualquer pessoa, em qualquer dispositivo, com uma única base de código.

Autor-Imagem-Alex-Husar See More Este artigo foi escrito por Alex Husar. Alex é diretor de tecnologia de uma empresa que fornece serviços progressivos de desenvolvimento de aplicativos da web. Trabalhando na empresa por quase uma década, Alex ganhou proficiência em desenvolvimento web, criação de aplicativos web progressivos (PWAs) e gerenciamento de equipe. Alex aprofunda constantemente seus conhecimentos em diversas áreas tecnológicas e os compartilha em seus artigos. Ele ajuda os programadores a superar desafios comuns e se manter atualizado com as últimas tendências de desenvolvimento web. Você pode segui-lo no LinkedIn.