Tauri vs. Electron: comparándolos con una aplicación real
(levminer.com)Comparación por apartados con una app 2FA multiplataforma llamada Authme
- Paquete: Tauri, que usa la webview del sistema operativo, es mucho más pequeño. 2.5MB vs. 85MB
- Tiempo de arranque: Tauri ~2 segundos vs. Electron ~4 segundos
- Uso de RAM:
- En Windows, Tauri 80MB y Electron 120MB, así que no hay una gran diferencia
- En Linux, Tauri 80MB, mientras que en Electron se levantan muchas cosas y supera los 500MB, por lo que la diferencia es grande
- Backend de la app: Electron usa el runtime de Node.js, así que basta con programar en JavaScript, pero Tauri requiere programar en Rust
- Según la hoja de ruta de Tauri, también planean dar soporte a Python, C++ y Deno
- Renderizado: Electron usa Chromium en Windows/macOS/Linux, mientras que Tauri usa Windows (Edge WebView2) / Linux (WebKitGTK) / macOS (WebKit)
- Como puede haber diferencias entre navegadores, en Tauri a veces hace falta usar polyfills
- Seguridad: Tauri incorpora muchísimas funciones de seguridad y es seguro por defecto
- Actualizaciones automáticas:
- Del lado de Tauri es más simple. Tiene un Updater integrado (aunque tiene la desventaja de que debes operar tu propio servidor de actualizaciones)
- En Electron se usa mucho
electron-updater. Su ventaja es que puede tomar los binarios directamente desde GitHub Releases, lo que resulta práctico
- Experiencia de desarrollador:
- En Tauri, con solo instalar el CLI ya puedes usar todo de inmediato (hot reloading, bundling, generación de apps, etc.)
- Electron no trae eso; solo entrega el framework en sí. El hot reloading y el bundling hay que resolverlos por cuenta propia
- La mayor ventaja de Tauri es que es compatible con todos los frameworks web
Conclusión
- Elegir Tauri
- Todavía le faltan algunas cosas, pero en unos años el equipo de Tauri alcanzará a Electron
- Lo que más entusiasma es poder usar Deno como backend, además de contar con actualizaciones automáticas más cómodas y soporte para iOS/Android
6 comentarios
Parece que Tauri no usa un motor propio, sino la biblioteca
webviewque ya está en el sistema.Al comparar el tamaño del instalador, es 2.5MB vs. 85MB,
y después de la instalación queda en 3.64MB vs. 221MB.
¡Guau, esto se ve bien!
Tengo muchas ganas de que también tenga soporte para apps móviles.
Como Rustacean, me alegra mucho ver crecer el ecosistema de Rust. Tengo que tener abiertas hasta 3 apps de Electron en mi Mac y la MacBook se calienta muchísimo :(
Tauri - framework de aplicaciones web para escritorio que genera ejecutables pequeños y rápidos
Lanzamiento de Tauri v1.0
En la parte de seguridad a mitad del artículo se dice que Electron puede tener acceso completo a la API de Node,
pero
nodeIntegrationtienefalsecomo valor predeterminado desde la versión 5.0, y desde la 20.0 se aplica sandboxing, así que Electron también es razonablemente seguro.https://www.electronjs.org/docs/latest/tutorial/security