PWA vs SPA: iguais, mas diferentes
Publicados: 2019-09-18Índice
O apelo dos sites padrão está começando a perder seu encanto, cedendo seu lugar aos aplicativos da web. A cada dia que passa, os aplicativos da Web estão se tornando cada vez mais populares devido à sua experiência envolvente e incrivelmente rápida.
A maior parte desse sucesso tecnológico só pode ser obtido implementando certas arquiteturas na estrutura do seu site, garantindo a estabilidade, desempenho e engajamento do seu site.
Duas abordagens populares para estruturar seu aplicativo Web agora são PWAs e SPAs. Muito para a concepção comum sobre essas duas abordagens, elas não são a mesma coisa. Isso é crucial , pois suas diferenças negligenciadas geralmente levam a erros dispendiosos e oportunidades perdidas; certamente você—provavelmente um proprietário de site para quem cada milissegundo é importante—não quer que seu aplicativo da web fique para trás do resto do mundo.
Como eles funcionam?
Aplicativos de página única (SPAs)
SPA (Single Page Application) é um site cuja página atual é atualizada dinamicamente em vez de ser totalmente baixada de um servidor. Em outras palavras, todo o código de aplicativo necessário para seu aplicativo da web (HTML, CSS, JavaScript) precisa ser carregado apenas uma vez . À medida que o usuário navega pelo aplicativo da Web, todos os conteúdos e elementos que precisam ser atualizados são buscados e renderizados novamente sem exigir que o usuário recarregue o navegador.
Isso economiza a tradicional viagem de ida e volta entre o navegador e o servidor, permitindo interações mais rápidas e melhor satisfação do usuário.

Você provavelmente usa SPA o tempo todo sem nem perceber. Observe como a maioria dos sites de mídia social parece o mesmo? É porque todos eles usam SPAs para otimizar a experiência do usuário e criar um feed contínuo de atualização de notícias.
Aqui estão alguns dos SPAs notáveis que você provavelmente está usando regularmente:
- Gmail
- Netflix
- Google Maps
Aplicativos da Web progressivos (PWAs)
Ao contrário do SPA, o Progressive Web App (PWA) é mais um conjunto de diretrizes e listas de verificação do que uma arquitetura específica. Os PWAs são conhecidos e divergem dos SPAs por várias características, como:
- Service Workers: Service workers fornecem a base técnica para muitos dos recursos proeminentes do PWA, como disponibilidade offline e notificações push.
- Manifesto do aplicativo Web: um arquivo JSON que contém os metadados necessários para seu PWA. Os manifestos do aplicativo Web podem ser gerados automaticamente usando o gerador de manifesto do PWA.
- HTTPS: os PWAs são sempre servidos de uma origem segura.

Os service workers atuam como um proxy entre o navegador e a rede e são responsáveis pelo armazenamento em cache dos ativos do site e pela interceptação de solicitações de rede, o que leva à disponibilidade offline do site e vários outros recursos, incluindo notificações push.
Os service workers também ajudam tremendamente em segundo plano. Além de oferecer recursos offline, eles também são responsáveis por grande parte dos cálculos pesados, que é a principal razão pela qual a maioria dos sites PWA são tão eficientes e de carregamento rápido.
Escrevemos um guia detalhado sobre o que é o Progressive Web App. Então você não pode perder!
Como eles são iguais?
Sendo tecnologias novas e revolucionárias, essas duas arquiteturas oferecem ao usuário uma experiência envolvente semelhante a um aplicativo que é muito diferente dos sites tradicionais. À primeira vista, eles podem ser facilmente confundidos um com o outro; os processos subjacentes que tornam todas essas experiências possíveis, no entanto, não são os mesmos.
Qual é a diferença?
Há um equívoco comum de que um PWA é quase sempre um SPA, o que é simplesmente errado. A partir dos requisitos do PWA acima, você pode ver que em nenhum lugar afirma que o conteúdo do site deve ser renderizado no navegador ou um PWA não deve solicitar páginas renderizadas pelo servidor.
Um PWA é, simplesmente, um site que possui todas as melhores qualidades que a Web tem a oferecer. É confiável, rápido e envolvente.
E como o PWA requer service workers que são executados em um thread separado da interface do usuário, os PWAs diferem de tal forma que seus conteúdos são sempre exibidos quase instantaneamente , ao contrário dos SPAs que quase sempre acompanham uma tela de carregamento inicial específica para pré-busca dos sites. ativos. Isso significa que a maioria, se não toda a sobrecarga de JavaScript abundante que a estrutura JavaScript do SPA coloca em seus aplicativos da Web, pode ser realocada para o service worker.


Obviamente, as diferenças entre esses dois não são apenas isso, há muito mais para dissecar:
Em termos de velocidade
No que diz respeito à velocidade, essas duas arquiteturas são bastante semelhantes, pois ambas são tecnologia de ponta. A vantagem, no entanto, pode ir para o PWA aqui.
A razão para isso é que, enquanto SPAs e PWAs usam JavaScript para seus desenvolvimentos, o PWA é capaz de alavancar seus service workers para renderizar alguns dos trabalhos. Em outras palavras, grande parte da sobrecarga excessiva de JavaScript que os SPAs adicionam aos aplicativos da Web pode ser delegada aos service workers, reduzindo bastante a pegada de JavaScript.

Isso permite que os sites PWA pré-armazenem em cache muitos ativos do site: scripts, CSS, imagens e marcação antes de serem necessários. Graças a esses pré-caches, a rede do usuário é aliviada do estresse adicional que vem com a renderização e pode trabalhar offline.
Em termos de custo
Aqui é onde o PWA perde para o SPA. Possuindo tecnologia de ponta, o PWA, consequentemente, tem um custo adicional. Isso sem mencionar que o desenvolvimento do PWA geralmente dura semanas ou até meses de cada vez, pois não é um processo tão simplificado quanto o do SPA.
PWAs : $ 2.000 - $ 20.000
SPA : $ 1.500 - $ 12.000
Há muitos fatores em jogo que afetam seus custos de construção, como a taxa de seu desenvolvedor, a complexidade do trabalho, suas preferências e personalizações... todos devem ser levados em consideração ao fazer uma estimativa de custo.
Leitura recomendada: Quanto custa construir um PWA Magento?
Em termos de experiência do usuário/interface do usuário
Embora os SPAs tivessem seu lugar no passado, as pessoas estão começando a se converter em PWAs, pois oferecem uma melhor experiência do usuário (UX).
Ambos possuindo a interface semelhante a um aplicativo, o PWA traz mais engajamento e confiabilidade mesmo em condições de conexão offline ou lenta. Por essas razões, marcas influentes como o Twitter iniciaram o movimento PWA lançando sua própria versão PWA de seu site, que é o Twitter Lite.

E não é apenas o Twitter. Espera-se que o movimento PWA esteja aqui para ficar; Além disso, com a recente participação do Spotify, o movimento não parece mostrar nenhum sinal de desaceleração em breve.

O aplicativo de página única tem seu limite de não ser capaz de fornecer UX satisfatório em grandes sites, e é por isso que funciona melhor para sites orientados a dados e não necessariamente visualmente impressionantes como Gmail e Facebook.

Em termos de segurança
Segurança é um assunto delicado. Embora o PWA e o SPA usem JavaScript como sua biblioteca principal para desenvolvimentos, seus problemas de segurança diferem muito, com a maioria dos quais vem do SPA e seu problema de XSS (cross-site scripting).
Muito menos preocupações em relação à segurança são levantadas no PWA, pois é da natureza do Progressive Web App que todas as conexões passem por uma origem HTTPS segura. Assim como os PWAs, o HTTPS também é o futuro das Webs, por meio das quais recursos de ponta, como service workers, tornam-se acessíveis e possíveis.
Em termos de acessibilidade
Em comparação com os SPAs, os PWAs geralmente são mais acessíveis, especialmente com o recente suporte do Chrome para Desktop PWA. Os usuários que interagem com PWAs podem ter a opção de adicionar um atalho do aplicativo que estão usando à tela inicial ou à área de trabalho.

Os SPAs são realmente terríveis quando se trata de acessibilidade, pois tem a tendência de deixar seu usuário no meio do nada toda vez que uma transição de página é executada. Isso é especialmente frustrante para usuários com deficiência, pois nenhum atributo de ária ou função poderá ajudá-los se a página continuar mudando completamente sua estrutura DOM (Document Object Model).
Empacotando
Por mais revolucionários que os SPAs possam ter sido, o tempo parece tê-los alcançado lentamente. Embora SPAs e PWAs sejam iguais, mais e mais pessoas estão escolhendo PWAs em vez de SPAs e isso é compreensível, considerando os benefícios que os PWAs trazem.
Com o SimiCart, oferecemos a melhor solução de PWA para comerciantes Magento.