Tauri vs. Electron - comparaison sur une application réelle
(levminer.com)Comparaison point par point avec Authme, une appli 2FA multiplateforme
- Bundle : Tauri, qui utilise la WebView de l’OS, est bien plus léger. 2,5 Mo vs. 85 Mo
- Temps de démarrage : Tauri ~2 s vs. Electron ~4 s
- Utilisation de la RAM :
- Sous Windows, pas de grosse différence : Tauri 80 Mo, Electron 120 Mo
- Sous Linux, Tauri 80 Mo, alors que beaucoup de choses semblent se lancer côté Electron, avec un écart important au-delà de 500 Mo
- Backend de l’application : Electron utilise le runtime Node.js, donc du code JavaScript suffit, mais Tauri nécessite de coder en Rust
- Selon la roadmap de Tauri, Python, C++ et Deno devraient aussi être pris en charge
- Rendu : Electron utilise Chromium sur Windows/macOS/Linux, tandis que Tauri utilise Windows (Edge WebView2) / Linux (WebKitGTK) / macOS (WebKit)
- Comme il peut y avoir des différences selon le navigateur, il faut parfois utiliser des polyfills avec Tauri
- Sécurité : Tauri intègre énormément de fonctionnalités de sécurité et est donc sûr par défaut
- Mises à jour automatiques :
- C’est plus simple côté Tauri. Il y a un Updater intégré (avec l’inconvénient de devoir exploiter soi-même un serveur de mises à jour)
- Côté Electron,
electron-updaterest très utilisé. Son avantage est de pouvoir récupérer directement les binaires depuis les releases GitHub, ce qui est pratique
- Expérience développeur :
- Avec Tauri, il suffit d’installer la CLI et tout est immédiatement disponible (hot reloading, bundling, génération d’application, etc.)
- Electron ne fournit que le framework lui-même. Il faut gérer soi-même le hot reloading et le bundling
- Le plus grand avantage de Tauri est sa compatibilité avec tous les frameworks web
Conclusion
- Choix de Tauri
- Il manque encore certaines choses, mais l’équipe Tauri rattrapera Electron d’ici quelques années
- Ce qui est particulièrement attendu : la possibilité d’utiliser Deno comme backend, des mises à jour automatiques plus pratiques, ainsi que la prise en charge d’iOS/Android
6 commentaires
On dirait que Tauri n’utilise pas son propre moteur compilé, mais la bibliothèque webview présente sur le système.
En comparant la taille de l’installateur, on obtient 2,5 Mo contre 85 Mo,
et après l’installation, cela passe à 3,64 Mo contre 221 Mo.
Waouh, ça a l’air bien !
Le support des applications mobiles est vraiment très prometteur.
En tant que Rustacean, je suis vraiment ravi de voir l’écosystème Rust grandir. Je dois garder trois applis Electron ouvertes sur mon Mac, et mon MacBook chauffe vraiment beaucoup :(
Tauri - un framework de web apps de bureau qui génère des exécutables petits et rapides
Sortie de Tauri v1.0
Au milieu de l’article, dans la partie sécurité, il est dit qu’Electron peut avoir un accès complet aux API Node,
mais
nodeIntegrationest défini surfalsepar défaut depuis la version 5.0, et à partir de la 20.0, le sandboxing est appliqué, donc Electron est lui aussi relativement sûr.https://www.electronjs.org/docs/latest/tutorial/security