Na verdade, o Electron é melhor do que parece
(blog.vaxry.net)- Electron recebe a fama de ser apenas lento e ineficiente, mas na prática é uma ferramenta eficiente e poderosa
- Os problemas de uso de RAM e tamanho de armazenamento são uma tendência dos aplicativos modernos em geral, não um problema exclusivo do Electron
- Em apps nos quais recursos baseados em tecnologias web são importantes, como serviços de streaming, o Electron acaba sendo uma escolha natural
- Ele é otimizado para alta velocidade de desenvolvimento e rede assíncrona, oferecendo produtividade muito alta
- A avaliação de que o Electron é lento vem, em grande parte, de aplicativos de baixa qualidade feitos por empresas; apps em Electron bem feitos são suficientemente rápidos e úteis
Preconceito contra o Electron
- O Electron é como um navegador Chromium executando uma página web localmente
- Por isso, espalhou-se a percepção de que ele é lento, ineficiente e “não nativo”, mas isso não é verdade
Eficiência
- Se o Electron fosse ineficiente, o próprio navegador Chromium não funcionaria direito
- O Electron apenas empacota junto muitos elementos para fazer o app funcionar bem
Uso de RAM
- A afirmação de que “Electron consome muita RAM” não corresponde aos fatos
- Resultados de medições reais
- Vermilion (baseado em Electron): 215MB
- Dolphin (baseado em Qt6/KDE): 258MB
- Nautilus (baseado em GTK4/Libadwaita): 374MB
- À medida que os apps modernos ganham mais recursos, o consumo de RAM tende a aumentar, e isso não é um problema exclusivo do Electron
Tamanho de armazenamento
- Apps em Electron ficam maiores porque empacotam muitas dependências junto
- É uma estrutura semelhante à de Flatpak ou AppImage, o que aumenta a portabilidade e a estabilidade
Velocidade
- Quando apps em Electron são lentos, isso ocorre não por causa do próprio Electron, mas principalmente porque apps feitos por empresas foram desenvolvidos de forma desleixada
Casos em que o Electron é até melhor
Tratamento de DRM
- Serviços de streaming usam DRM, e isso exige tecnologias baseadas na web
- Por exemplo, o Tidal exige Widevine, e já existe um ecossistema no Electron que permite integrá-lo com facilidade
- O Spotify também, por questões legais, só pode fazer streaming por meio de módulos JS
Alta velocidade de desenvolvimento
- Typescript e Electron permitem desenvolvimento muito rápido para quem já tem experiência com tecnologias web
- Em comparação com frameworks baseados em GTK ou QT, as tecnologias web são muito superiores em acessibilidade e curva de aprendizado
Rede assíncrona
- Em casos como apps de streaming, nos quais a comunicação assíncrona é frequente, as tecnologias web são otimizadas para isso
O Electron serve para tudo?
- Em teoria, é possível, mas não é adequado para casos que exigem o mínimo de recursos, como apps essenciais do desktop
- Para apps complexos, com muitos recursos online e necessidade de funcionar em várias plataformas, o Electron é uma escolha lógica
- Se houver qualidade de desenvolvimento, apps em Electron também podem ser feitos de forma suficientemente rápida e eficiente
- Como exemplo, apps em Electron como Obsidian e VS Code têm desempenho excelente
- Com os avanços recentes em WASM, ao descarregar tarefas pesadas, apps em Electron também podem competir com apps de desktop tradicionais
Conclusão
- A maior parte das reclamações sobre o Electron vem de versões antigas do Electron ou de apps corporativos de baixa qualidade
- A percepção de que “é lento porque é uma página de navegador” está distante da realidade, e os navegadores modernos mostram desempenho muito alto
16 comentários
É porque você nunca foi a uma casa que manda bem com Electron ~
... acho que é isso que estão querendo dizer kkk
Eu também usava Electron há uns 2-3 anos, mas hoje em dia acabo fazendo com Tauri..
Gostei.
Use Tauri. O backend é em Rust e a integração é mais fácil do que parece.
Só tem afirmações e nenhuma evidência.
De qualquer forma, a experiência de desenvolvimento é melhor do que com algo como o Qt, certo?
Entendo os outros pontos, mas a alegação sobre RAM está discrepante demais da experiência...
Aplicativos Electron que precisam ficar sempre em segundo plano acabam sendo um pouco pesados.
Sei lá... mesmo com só 3 ou 4 apps em Electron abertos, é bem comum ficar sofrendo por falta de memória....
A superfície de ataque é grande demais, mas quase ninguém dá atenção, então agora estou pensando em largar isso.
Concordo que, por si só, é um bom framework, mas como muitas empresas e startups usam a boa produtividade como desculpa e saem lançando coisas sem se preocupar com desempenho, acabo rejeitando de cara quando vejo que foi feito em Electron.
Mesmo usando um notebook bom, sinceramente não acho tão claro assim que o VS Code seja rápido. No fim, acabo usando o IntelliJ, que é pesado mas cheio de recursos e por isso mais conveniente, ou então algum IDE ou editor de texto desenvolvido nativamente. Com certeza era mais rápido e a experiência era melhor.
É muito bom, mas como tem um tamanho base, não dá muito para usar em qualquer lugar..
O Electron é bom demais, quem foi que disse que não é... é bom pra caramba
Problemas como os do Flatpak ou AppImage parecem não ter nada a ver quando se volta para o Windows, né? kkk..
Acho que o Electron em si é um framework muito bom. O desenvolvimento do framework é bem ativo e, acima de tudo, tudo o que vai ser implementado no Chromium acaba estando lá.
Na verdade, o Electron é melhor do que parece
O que as pessoas entendem errado sobre o Electron
Comparação entre Tauri e Electron - desempenho, tamanho do bundle e trade-offs reais