IRCNF

Electron venceu a guerra dos apps desktop — e seus concorrentes estão redefinindo como desenvolvedores criam aplicações

Compartilhar:
Electron venceu a guerra dos apps desktop — e seus concorrentes estão redefinindo como desenvolvedores criam aplicações

Em 2013, o GitHub lançou o Atom, um editor de texto construído sobre um framework que embutia um navegador Chromium completo e o runtime Node.js em um aplicativo desktop. O framework, depois rebatizado como Electron, parecia absurdo para os desenvolvedores focados em desempenho: por que incluir um navegador inteiro para rodar um editor de texto?

Treze anos depois, o Electron está no coração da ferramenta de desenvolvimento mais usada do planeta. Visual Studio Code, Slack, Discord, o cliente desktop do Figma, Notion, 1Password e dezenas de outros aplicativos que definem suas categorias são construídos com Electron. Sejam quais forem as objeções teóricas, o Electron venceu. A pergunta agora é se ele consegue manter essa dominância enquanto uma nova geração de frameworks ataca seus pontos fracos.

Por que o Electron venceu

A proposta de valor central do Electron é simples: escreva uma vez em HTML, CSS e JavaScript, e publique para Windows, macOS e Linux sem manter bases de código separadas. Para equipes que já constroem aplicações web, a transferência de habilidades é quase zero. O ecossistema npm oferece milhões de pacotes. O DevTools do Chrome funciona para depuração. O comportamento de renderização é totalmente previsível entre plataformas porque é sempre o mesmo motor de navegador.

O argumento de negócio se fechou sozinho. Comparado a contratar especialistas em plataformas nativas para macOS (Swift/Objective-C) e Windows (C#/WinRT) separadamente, uma única equipe de JavaScript mantendo uma base de código era dramaticamente mais barata. O Slack notoriamente reconstruiu seu cliente macOS de um app nativo para Electron e reduziu seu headcount de engenharia para a equipe desktop. A troca em desempenho foi considerada aceitável dada a redução na complexidade.

Os custos reais

As reclamações sobre o Electron são reais e bem documentadas. Um aplicativo Electron típico empacota cerca de 150–200 MB de Chromium e Node.js, o que significa que cada app Electron carrega sua própria cópia de um navegador. O instalador do Discord tem mais de 90 MB. O VS Code tem cerca de 100 MB. Multiplique isso pelos 15 ou 20 apps Electron que um desenvolvedor típico executa, e você adicionou gigabytes de instalações redundantes de navegador na sua máquina.

O uso de memória é o problema mais imediato. O Discord consome rotineiramente 600–900 MB de RAM em idle. O Slack historicamente consumia quantias similares. Em um MacBook com 8 GB de memória unificada, rodar três aplicativos Electron simultaneamente significa dedicar uma fração significativa da sua RAM disponível a aplicativos que estão essencialmente esperando você olhar para eles.

O tempo de inicialização é mais lento que equivalentes nativos. O tempo para abrir o VS Code em uma inicialização a frio é visivelmente maior do que abrir um editor nativo. Para usuários avançados que mantêm apps abertos o dia todo, isso é um incômodo menor. Para usuários que fecham e reabrem aplicativos com frequência, o tempo acumula.

Tauri: o desafiante leve

O Tauri, lançado em 2021 e alcançando a versão 2.0 em 2024, adota uma abordagem arquitetural diferente. Em vez de empacotar o Chromium, ele usa o WebView nativo do sistema operacional — WebKit no macOS e Linux, WebView2 (motor de renderização do Edge) no Windows. O backend roda em Rust em vez de Node.js.

O resultado são aplicativos dramaticamente menores. Um app Tauri mínimo produz um instalador com menos de 4 MB. O uso de memória em idle pode ficar abaixo de 50 MB para aplicações simples. As garantias de segurança e desempenho do Rust tornam o backend mais eficiente que o Node.js para operações intensivas de CPU.

A troca é a consistência de renderização. Como o Tauri usa o WebView do sistema, a renderização pode variar entre plataformas — o WebKit se comporta de maneira diferente do WebView2 em casos extremos. Desenvolvedores acostumados com a garantia “sempre parece com Chrome” do Electron precisam fazer mais testes entre plataformas. O CSS ou JavaScript que funciona perfeitamente no macOS pode ter diferenças sutis no Windows.

Apesar disso, o Tauri atraiu adoção séria. O Bitwarden migrou seu cliente desktop do Electron para o Tauri em 2023, relatando reduções drásticas no uso de memória e no tamanho do instalador. Aplicativos voltados para segurança se beneficiam particularmente: a superfície de ataque menor do Tauri — sem runtime Node.js embutido, sem motor de navegador completo — é significativa para apps que lidam com dados sensíveis.

Outros concorrentes

O Wails traz Go para a mesma arquitetura baseada em WebView que o Tauri pioneirizou, atraindo equipes já investidas no ecossistema Go. O Flutter, originalmente um framework mobile, atingiu qualidade de produção no desktop e oferece um motor de renderização completamente customizado — sem WebView algum — com consistência pixel-perfeita entre plataformas, mas ao custo de uma curva de aprendizado mais íngreme.

Progressive Web Apps (PWAs) continuam viáveis para aplicações que não precisam de integração profunda com o sistema. O Chrome e o Edge suportam instalar PWAs como aplicativos desktop, e a lacuna de funcionalidade entre PWAs e apps Electron diminuiu significativamente nos últimos anos. Para apps que exibem conteúdo principalmente e não precisam de acesso ao sistema de arquivos, portas locais ou notificações do sistema, as PWAs geralmente são a escolha sensata.

Por que o Electron não vai a lugar nenhum

Apesar dos desafiadores, o fosso do Electron é profundo. O ecossistema de pacotes, ferramentas e tutoriais compatíveis com Electron é enorme. Equipes com bases de código existentes em Electron têm pouco incentivo para reescrever aplicações que estão funcionando. As reclamações de desempenho, embora legítimas, provaram ser toleráveis o suficiente para que usuários continuem instalando apps Electron às dezenas de milhões.

O investimento contínuo da Microsoft no VS Code — o IDE mais usado do mundo, construído sobre Electron — sinaliza que o framework será mantido ativamente no futuro previsível. A equipe principal do Electron também melhorou o desempenho significativamente ao longo dos anos: o motor JavaScript V8 é dramaticamente mais rápido do que era em 2013, e o gerenciamento de memória do Chromium melhorou.

O cenário em 2026

O ecossistema de apps desktop em 2026 parece mais diverso do que em qualquer ponto da história do Electron. O Electron ainda domina para aplicações onde consistência de renderização, ampla compatibilidade com npm e familiaridade dos desenvolvedores são mais importantes. O Tauri está vencendo para aplicações onde segurança, tamanho do binário ou desempenho na inicialização são restrições críticas. O Flutter está abrindo espaço para apps com requisitos de UI customizados. As PWAs continuam conquistando casos de uso que não precisam de integração com o sistema.

A verdadeira mudança é em como novas aplicações são construídas. Equipes iniciando projetos desktop em 2026 pensam mais profundamente nas trocas do que pensavam em 2018. Electron não é mais o padrão — é uma opção entre várias, cada uma com um perfil diferente de desempenho e complexidade. Esse é um ecossistema mais saudável do que a era em que “construir um app desktop” significava “construir um app Electron”, fosse adequado ou não.

Compartilhar:
Electron venceu a guerra dos apps desktop — e seus concorrentes estão redefinindo como desenvolvedores criam aplicações | IRCNF - Intelligent Reliable Custom Next-gen Frameworks