30 points par xguru 2022-08-23 | 6 commentaires | Partager sur WhatsApp

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-updater est 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

 
joone 2022-08-29

On dirait que Tauri n’utilise pas son propre moteur compilé, mais la bibliothèque webview présente sur le système.

 
kayws426 2022-08-23

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.

 
ifmkl 2022-08-23

Waouh, ça a l’air bien !

 
jjpark78 2022-08-23

Le support des applications mobiles est vraiment très prometteur.

 
freedomzero 2022-08-23

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 :(

 
xguru 2022-08-23

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 nodeIntegration est défini sur false par 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