PWA vs Electron: um mergulho profundo

Publicados: 2020-05-20

Índice

Parece que há muitas novas tecnologias no campo hoje em dia para que possamos acompanhar. Recentemente, estamos vendo o surgimento do Electron.js, que é uma plataforma poderosa por trás de um número não tão pequeno de aplicativos populares que usamos todos os dias, e também há o Progressive Web App, que deveria ser uma nova maneira de sites para oferecer experiências de alto nível e envolventes para o cliente sem sacrificar o desempenho ao longo do caminho.

Para melhor ajudá-lo a acompanhar todas essas tecnologias recém-descobertas, hoje no artigo SimiCart, compararemos entre os dois—Electron e PWA, da maneira mais abrangente.

O que é PWA?

O PWA parece estar em alta nos dias de hoje, pois é uma tecnologia apoiada pelo próprio Google e tem toda a atenção de grandes caras como a Microsoft com seu ambicioso plano de tornar a Microsoft Store cheia de PWA. A razão pela qual é tão popular é que o próprio PWA é a melhor coisa que veio da web em anos – seu histórico fala por si.

Para simplificar, os Progressive Web Apps são sites que parecem um aplicativo. A tecnologia é uma mistura dos melhores recursos da Web e de aplicativos nativos, o que significa que os usuários que usam o PWA podem se beneficiar de todos os recursos anteriormente exclusivos de aplicativos nativos, como notificações push, geolocalização e muito mais.

Twitter PWA
Twitter na Microsoft Store é um PWA

O que é Elétron?

Comparado ao PWA, o Electron é semelhante em muitos aspectos, pois também utiliza tecnologias da web – ou seja, HTML, CSS, JavaScript – para enfrentar melhor o desafio multiplataforma. No entanto, ao contrário do PWA, os aplicativos com tecnologia Electron podem ser transformados em aplicativos de desktop totalmente funcionais, devido à utilização de APIs nativas e do mecanismo de renderização do Chromium . Na verdade, é tão funcional que muitas vezes é indistinguível de aplicativos de desktop nativos, e você pode ter encontrado um sem saber que é baseado em Electron - por exemplo, alguns de seus aplicativos essenciais provavelmente são baseados em Electron, incluindo Skype, Slack, Discord , e Código do Visual Studio.

Elétron de discórdia

O Electron não soa melhor?

Bem, quando você coloca dessa forma... meio que faz; mas não, é mais sutil do que isso. Há uma razão pela qual estamos vendo uma desaceleração recente no número de aplicativos baseados em Electron - é porque o Electron está mostrando sua idade, especialmente em um momento em que os usuários estão mais exigentes do que nunca com a experiência omnicanal que o PWA oferece .

Ao solicitar contribuições de desenvolvedores experientes de Electron e PWA, notamos os seguintes padrões:

  • Disponibilidade : Como os aplicativos baseados em Electron são praticamente uma versão híbrida de aplicativos de desktop e não podem ser instalados em dispositivos móveis, o PWA tem a vantagem de estar disponível em quase qualquer dispositivo que tenha um navegador compatível com PWA.
  • Desempenho : Um aplicativo baseado em Electron, quando bem feito, deve parecer tão rápido e leve quanto um aplicativo de texto - mas esse não é o melhor desempenho que você pode obter. Uma vantagem conhecida do PWA é que você pode obter melhor desempenho (comparado ao Electron) no primeiro carregamento e tempo de carregamento quase instantâneo em carregamentos posteriores, já que tudo é armazenado em cache em tempo real, e grande parte da sobrecarga do JavaScript pode ser deslocada para o trabalhadores de serviço que é parte integrante do PWA.
  • Atualização : Como todos sabemos, atualizar (e implantar em geral) é um grande incômodo para aplicativos nativos de qualquer tipo - e o Electron não é exceção. Isso pode ser evitado optando pela abordagem PWA com a qual todo o processo de atualização pode acontecer no lado do servidor, aliviando assim seus clientes do processo de instalação de atualizações.
  • Tamanho : O Electron, embora pese menos do que o aplicativo de desktop típico, ainda é consideravelmente mais pesado que o PWA. É difícil encontrar um aplicativo Electron que pese menos de 50 MB, enquanto a maioria dos PWA está abaixo de um megabyte.
  • Segurança : O PWA é apenas melhor quando se trata de segurança, pois depende inteiramente de conexões seguras (HTTPS) mantidas pelo navegador, enquanto o Electron, sendo um aplicativo da Web envolto em um contêiner de aplicativo nativo, precisa fazer tudo manualmente.

Por que o PWA está ficando cada vez mais popular

Aqui está a verdade, Electron é uma tecnologia obsoleta. Apesar de atualmente ser usado por um grande número de aplicativos de desktop, muitos deles já estão planejando converter seus aplicativos de desktop baseados em Electron para PWA. Sim, você pode converter um aplicativo baseado em Electron em um PWA, embora não seja um processo tão suave quanto o processo de conversão de PWA em Electron, mas é possível.

Elétron sem todas as suas falhas

Pode-se dizer que os Progressive Web Apps são uma tecnologia melhor e potencialmente mais evolutiva, pois resolve os problemas fundamentais do Electron - compatibilidade e facilidade de distribuição - enquanto permanece funcional e envolvente para a experiência do usuário. Isso se deve ao fato de que os navegadores de hoje estão se tornando seu próprio sistema operacional universal com todos os recursos que você poderia pedir e, como efeito colateral disso, as tecnologias que dependem e são executadas na Web, como o PWA, só melhoram com o tempo. .

 Ver mais: 
Desktop PWA - O futuro da entrega de software
PWA para Magento 2

Omnicanal

Quando se trata da experiência omnicanal, o PWA se destaca em todos os aspectos imagináveis, pois foi desenvolvido especificamente para a experiência responsiva de vários dispositivos. Dependendo do tipo de negócio envolvido, o PWA pode ser a escolha certa para empresas que desejam que a experiência do usuário seja a mesma em todos os dispositivos, enquanto com o Electron JS você teria que desenvolver diferentes bases de código para diferentes plataformas, aumentando assim o custo de desenvolvimento.

Quando escolher o Elétron

Apesar de ter suas vantagens, o PWA não pode ser uma solução abrangente para todos os modelos de negócios, e é aí que a Electron encontra seu nicho. Os aplicativos baseados no Electron normalmente não se deparam com a restrição usual do navegador e são livres para desenvolver com base na funcionalidade Node.js, com a qual o Electron pode ter acesso a todas as APIs nativas do sistema operacional. Isso significa que os aplicativos baseados em Electron são executados no modo de usuário o tempo todo, garantindo efetivamente um ambiente operacional seguro e estável para o usuário.

Como regra geral na comunidade Electron, nunca é uma boa ideia usar o Electron para o que pode ser apenas um site . Portanto, se você acha que seu aplicativo se enquadra na pequena minoria de casos em que você precisa da liberdade e das funcionalidades extras dos aplicativos nativos, vá para o Electron; mas em qualquer outro caso, um PWA é mais que suficiente.

Palavras envolventes

A Web com suas tecnologias está se atualizando rapidamente e, combinado com o movimento de grandes marcas para impulsionar a adoção do PWA, não deve ser surpreendente para você ver mais do PWA no futuro. No entanto, isso não quer dizer que o Electron também esteja em seu leito de morte, já que a tecnologia ainda é bastante funcional e espera-se que esteja aqui por um bom tempo; mas se você é um daqueles que está considerando entre os dois, o PWA é uma escolha óbvia, pois a tecnologia ainda é relativamente nova e o suporte para ela está projetado para disparar em um futuro próximo.


Consulte Mais informação:
PWA vs Flutter: uma comparação detalhada

Tudo o que você precisa saber sobre Progressive Web Apps

Aplicativos da Web progressivos: 12 exemplos de marcas reais para sua inspiração

Magento PWA Studio: uma comparação detalhada com o Vue Storefront