Resumo / Pontos-chave
- Novos frameworks como Tauri, Deno e Electrobun prometem destronar o Electron, mas nossos testes no mundo real revelam uma realidade chocante.
- Construímos o mesmo aplicativo exigente nos quatro para expor a verdade sobre desempenho, tamanho do pacote e dificuldades para o desenvolvedor.
A Guerra do Inchaço: Um Pacote de 400MB é um Fracasso
Pacotes são campos de batalha no cenário moderno de aplicativos de desktop. O aplicativo de teste, uma ferramenta idêntica de gravação de tela, revela diferenças gritantes no tamanho de implantação. O Electron, antes o padrão, pesa 323 MB. O Tauri lidera o grupo com meros 57 MB, com o deno desktop seguindo com 111 MB. O Electrobun, no entanto, inchou para impressionantes 418 MB, tornando-o o perdedor inegável nesta categoria. (Nota: todos os tamanhos incluem 45 MB para FFmpeg incorporado).
O tamanho colossal do Electrobun decorre de uma falha arquitetônica crítica. Sua web view nativa do sistema carece de APIs essenciais como a Screen Capture API e `getDisplayMedia`, que são vitais para a funcionalidade de gravação de tela baseada em JavaScript. Isso força os desenvolvedores a empacotar uma instância completa do Chromium, adicionando aproximadamente 200 MB de inchaço apenas para habilitar recursos essenciais. A API do Deno implementa com sucesso essas funções, permitindo evitar essa sobrecarga pesada.
O Tauri emprega uma estratégia superior. Ele descarrega tarefas intensivas como gravação de tela para seu Rust backend, aproveitando poderosos native OS frameworks como o Screen Capture Kit do macOS. Essa abordagem significa que a web view apenas lida com a UI, nunca processando um único quadro de vídeo. O resultado é um pacote dramaticamente menor e desempenho otimizado, demonstrando um caminho claro para o desenvolvimento eficiente de aplicativos de desktop.
Mitos de Desempenho: Inicialização vs. Realidade
O desempenho de inicialização muitas vezes dita a percepção inicial do usuário, e aqui, os resultados surpreendem. Apesar das suposições, o deno desktop foi lançado mais rápido em 242ms, superando os 273ms do Electron e os 311ms do Tauri. A expectativa de que o Tauri, com seu Rust backend e web view do sistema, proporcionaria inícios instantâneos provou-se incorreta, pois o motor de renderização ainda requer tempo de inicialização.
Em seguida, esclareça o persistente mito da memória "Tauri é 10x mais leve". Embora o tamanho do seu pacote em disco seja de fato dramaticamente menor que o do Electron, as pegadas de memória em tempo de execução reais são muito mais próximas. O Electron consumiu 128MB, enquanto o Tauri usou 109MB. Este número contabiliza corretamente os processos da web view do sistema, que o macOS inicia separadamente, muitas vezes levando a relatórios errôneos de menor uso inicial de memória (por exemplo, 36MB) antes de uma contabilidade completa.
O Tauri realmente se destaca no runtime performance, especialmente para tarefas exigentes como gravação de tela. Ele alcança resultados superiores ao descarregar o processamento intensivo de vídeo para código nativo, aproveitando frameworks de sistema como o Screen Capture Kit do macOS. Este método ignora as limitações baseadas em navegador, permitindo que o Tauri entregue uma gravação suave de 60 FPS que aplicativos baseados em navegador lutam para igualar. Seu backend lida com a mixagem de áudio e a finalização de MP4, otimizando ainda mais o desempenho.
O Desafio do Desenvolvedor: Código, Falhas e Gambiarras
Enquanto Electron e Tauri oferecem uma experiência de desenvolvedor madura e direta, a jornada com suas alternativas modernas provou ser tudo menos isso. A construção do mesmo aplicativo de gravação de tela expôs um desafio para o desenvolvedor para os frameworks mais recentes, marcado por desafios de configuração frustrantes, dependências inexplicáveis e até mesmo falhas no sistema. Estabilidade e facilidade de implementação permanecem diferenciais chave.
deno desktop, apesar de sua impressionante velocidade de inicialização, revelou uma falha crítica em sua experiência de desenvolvedor. Quando uma gravação de tela era iniciada e a janela do aplicativo era subsequentemente ocultada, todo o processo terminava inesperadamente. Isso forçou os desenvolvedores a implementar uma solução alternativa improvisada: em vez de ocultar a janela, eles tiveram que movê-la para fora da tela para evitar que o aplicativo travasse. Isso sugere que a plataforma do deno desktop precisa de uma maturação significativa.
Electrobun apresentou um desafio de desenvolvedor verdadeiramente frustrante. Sua web view nativa do sistema não possuía a crucial Screen Capture API e a função `getDisplayMedia` necessárias para gravação de tela baseada em JavaScript. Esse déficit técnico exigiu o empacotamento de uma instância completa do Chromium, adicionando 200 MB extras de inchaço evitável ao tamanho já massivo do aplicativo. Além disso, o pacote inexplicavelmente incluiu bibliotecas de renderização 3D, incluindo Three.js e Babylon.js, para um aplicativo que não realizava nenhuma renderização 3D.
O Veredito: Sua Próxima Pilha de Aplicativos de Desktop
Tauri surge como o vencedor decisivo para aplicativos de desktop que exigem uma pegada leve e desempenho máximo. Com um tamanho de pacote de apenas 57MB e captura de tela de backend nativa, ele oferece eficiência de tempo de execução superior. Sua equipe deve adotar Rust, mas a compensação é uma otimização de recursos incomparável.
Enjoying this? Get one like it in your inbox each morning.
one email a day · unsubscribe in two clicks · no third-party tracking
Electron permanece o campeão indiscutível para equipes TypeScript-first que priorizam maturidade do ecossistema, estabilidade e uma vasta base de conhecimento. Apesar de um pacote de 323MB e inicialização de 273ms, sua experiência de desenvolvedor direta e comunidade robusta mitigam preocupações de desempenho para muitos projetos. Ele oferece um caminho confiável e bem compreendido.
deno desktop é um concorrente promissor, ostentando uma inicialização rápida de 242ms e um pacote de 111MB. No entanto, sua instabilidade atual, marcada por travamentos de aplicativos e soluções alternativas improvisadas para funcionalidades essenciais, o torna uma escolha arriscada para produção. Fique de olho, mas prossiga com cautela.
Electrobun, neste teste rigoroso, provou ser o pior de todos os mundos. Seu pacote inchado de 418MB, necessário para enviar o Chromium para APIs essenciais, combinado com uma inicialização lenta de 773ms e um complexo desafio de desenvolvedor, o torna uma opção inviável. Ignore Electrobun para desenvolvimento sério.
Perguntas Frequentes
Qual framework teve o menor tamanho de pacote?
Tauri foi o claro vencedor com apenas 57 MB. Isso foi significativamente menor que Electron (323 MB), Deno Desktop (111 MB) e especialmente Electrobun (418 MB).
Tauri é mais rápido que Electron?
Na velocidade de inicialização, Deno Desktop foi o mais rápido, surpreendentemente superando tanto Electron quanto Tauri. No entanto, Tauri demonstrou desempenho de tempo de execução superior para tarefas exigentes como gravação de tela a 60 FPS devido ao seu uso direto de APIs nativas do sistema.
Por que o tamanho do pacote do Electrobun era tão grande?
A web view nativa do sistema do Electrobun não possuía a Screen Capture API necessária para o aplicativo de teste. Isso forçou o empacotamento de todo o navegador Chromium, adicionando aproximadamente 200 MB de inchaço ao pacote final.
Qual é a melhor alternativa ao Electron para desenvolvedores TypeScript?
Para equipes que desejam evitar Rust, Electron continua sendo a plataforma mais madura e estável. Deno Desktop mostra promessa, mas atualmente sofre de problemas de estabilidade, tornando Electron a aposta mais segura para projetos puramente TypeScript.
