Tauri vs. Electron - Comparando com uma aplicação real
(levminer.com)Comparação por item usando o app de 2FA multiplataforma chamado Authme
- Bundle: o Tauri, que usa a webview do sistema operacional, é muito menor. 2,5 MB vs. 85 MB
- Tempo de inicialização: Tauri ~2 s vs. Electron ~4 s
- Uso de RAM:
- No Windows, Tauri 80 MB, Electron 120 MB, então não há uma diferença tão grande
- No Linux, Tauri 80 MB, enquanto no Electron sobe muita coisa e passa de 500 MB, gerando uma grande diferença
- Backend do app: o Electron usa o runtime do Node.js, então basta programar em JavaScript, mas o Tauri exige código em Rust
- No roadmap do Tauri, também está previsto suporte a Python, C++ e Deno
- Renderização: o Electron usa Chromium no Windows/macOS/Linux; o Tauri usa Windows (Edge WebView2)/Linux (WebKitGTK)/macOS (WebKit)
- Como pode haver diferenças entre navegadores, às vezes é preciso usar polyfills no Tauri
- Segurança: o Tauri incorpora muitos recursos de segurança e já é seguro por padrão
- Atualização automática:
- No Tauri é mais simples. Há um Updater embutido (com a desvantagem de precisar operar seu próprio servidor de atualização)
- No Electron, o
electron-updateré bastante usado. A vantagem é a conveniência de poder baixar os binários diretamente das releases do GitHub
- Experiência do desenvolvedor:
- No Tauri, basta instalar a CLI e tudo já fica pronto para uso imediato (hot reloading, bundling, criação de app etc.)
- O Electron não traz isso; entrega apenas o framework em si. Hot reloading e bundling precisam ser configurados por conta própria
- A maior vantagem do Tauri é ser compatível com qualquer framework web
Conclusão
- Escolha: Tauri
- Ainda há pontos em que ele deixa a desejar, mas em alguns anos a equipe do Tauri deve alcançar o Electron
- O que mais gera expectativa é poder usar Deno como backend, além de atualização automática mais prática e suporte a iOS/Android
6 comentários
Parece que o Tauri não usa um engine próprio compilado internamente, mas sim a biblioteca de
webviewdisponível no sistema.Ao comparar o tamanho do instalador, fica em 2,5 MB vs. 85 MB,
e após a instalação, 3,64 MB vs. 221 MB.
Uau, isso parece ótimo!
Estou realmente ansioso pelo suporte a aplicativos móveis.
Como Rustacean, fico muito feliz em ver o ecossistema Rust crescendo. Preciso deixar 3 apps em Electron abertos no Mac, e o MacBook fica muito quente, aff aff
Tauri - framework de web apps para desktop que gera executáveis pequenos e rápidos
Lançamento do Tauri v1.0
No meio do texto, na parte de segurança, há a afirmação de que o Electron pode ter acesso total às APIs do Node,
mas
nodeIntegrationtemfalsecomo valor padrão desde a versão 5.0 e, a partir da 20.0, o sandboxing passou a ser aplicado, então o Electron também é relativamente seguro.https://www.electronjs.org/docs/latest/tutorial/security