30 pontos por xguru 2022-08-23 | 6 comentários | Compartilhar no WhatsApp

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

 
joone 2022-08-29

Parece que o Tauri não usa um engine próprio compilado internamente, mas sim a biblioteca de webview disponível no sistema.

 
kayws426 2022-08-23

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.

 
ifmkl 2022-08-23

Uau, isso parece ótimo!

 
jjpark78 2022-08-23

Estou realmente ansioso pelo suporte a aplicativos móveis.

 
freedomzero 2022-08-23

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

 
xguru 2022-08-23

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 nodeIntegration tem false como 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