23 puntos por xguru 2025-04-16 | 6 comentarios | Compartir por WhatsApp
  • Mientras desarrollaban una app de control remoto de latencia ultrabaja para programación en pareja remota, adoptaron Tauri como framework de la aplicación
    • Las razones de la elección fueron rendimiento, eficiencia de memoria, soporte para sidecar y más
  • Gracias a un backend basado en Rust + uso del WebView del sistema, el tamaño de la app y el uso de memoria son mucho menores que en Electron
  • En Tauri v2 la brecha de funciones también se está cerrando rápidamente; funciones clave como actualizaciones automáticas y sidecar ya vienen integradas
  • Electron sigue siendo potente, pero para los requisitos especiales de Hopp, Tauri resultó ser una mejor opción

Por qué Hopp eligió Tauri

Contexto: elegir un framework de apps multiplataforma

  • Hopp necesitaba una app de escritorio de alto rendimiento que funcionara igual en Windows, macOS y Linux
  • Electron y Tauri son opciones representativas, y cada una tiene ventajas y desventajas bien definidas
  • El equipo de Hopp tomó la decisión priorizando el mantenimiento a largo plazo y el rendimiento

Tauri vs. Electron: diferencias estructurales

  • Estructura de Electron

    • Requiere incluir el runtime de Node.js → aumenta el tamaño de la app
    • Cada ventana usa un proceso de renderizado separado (motor Chromium) → alto consumo de memoria
    • La integración profunda con el sistema requiere procesos adicionales
  • Resumen de la estructura de Tauri

    • El backend es un binario nativo basado en Rust → no requiere un runtime aparte
    • Usa el WebView del sistema (Windows: WebView2, macOS: WKWebView, Linux: WebKitGTK)
    • Tiene buena eficiencia de memoria según la cantidad de ventanas, aunque hay que gestionar problemas por diferencias entre motores de navegador

Comparación de funciones clave

  • El tiempo de arranque es rápido tanto en Tauri como en Electron, y en la práctica no hay una gran diferencia perceptible
  • En uso de memoria, Tauri consume mucho menos
    • Tauri usó alrededor de 172MB de memoria
    • Electron llegó a unos 409MB, consumiendo más del doble de memoria
  • En cuanto al motor de renderizado
    • Tauri usa el WebView integrado en el sistema operativo, por lo que la app es más pequeña y ligera
    • Electron incluye directamente el motor Chromium dentro de la app, por lo que usa más recursos
  • En lenguaje de backend
    • Tauri usa Rust, lo que permite escribir código nativo de alto rendimiento
    • Electron se basa en JavaScript (Node.js), algo familiar para desarrolladores web, pero con menor rendimiento relativo
  • En tiempo de build inicial
    • Tauri incluye compilación de Rust, así que el build inicial es más lento
    • Electron, al estar basado en JS, tiene un build inicial más rápido
  • En la comparación de tamaño de la app
    • Tauri pesa aproximadamente 8.6MiB, por lo que es muy ligero
    • Electron pesa alrededor de 244MiB, es decir, unas 28 veces más

Razones decisivas por las que Hopp eligió Tauri

  • 1. Backend en Rust de alto rendimiento

    • Era necesario implementar streaming de video de latencia ultrabaja basado en WebRTC
    • En Electron habría que levantar un proceso aparte, pero en Tauri se puede implementar directamente en el backend de Rust
  • 2. Soporte para procesos sidecar

    • El streaming y el procesamiento de entrada se separan y gestionan como binarios independientes
    • Tauri da soporte oficial a sidecar → facilita la gestión del ciclo de vida y la comunicación
    • A futuro también consideran extenderse a Tauri egui para el renderizado del cursor
  • 3. Soporte de funciones que evoluciona rápidamente

    • Tauri v2 ya integra funciones clave como actualizaciones automáticas
    • Aunque es más joven que Electron, su visión centrada en seguridad y rendimiento encaja con Hopp

Conclusión: ¿qué framework es mejor?

  • Tanto Electron como Tauri son excelentes frameworks para apps de escritorio
  • La elección puede variar según la naturaleza del proyecto
    • Electron: desarrollo rápido, afinidad con JS, ecosistema amplio
    • Tauri: más pequeño, más ligero, más rápido y optimizado para el rendimiento basado en Rust
  • Hopp adoptó Tauri porque necesitaba un stack tecnológico centrado en rendimiento y una arquitectura con procesos separados

6 comentarios

 
naratteu 2025-04-20

Yo uso webui. También ocupa menos espacio y tiene muchas menos dependencias de runtime.

 
sddsdd94 2025-04-16

Estaría bien que también compararan Wails.

 
secret3056 2025-04-16

Yo lo interpreto al revés: en la mayoría de los casos, con Electron es suficiente.
Quizá sea porque me quedó el recuerdo de que, en los primeros tiempos de Tauri, la experiencia de comunicación entre el back y el front no era muy buena...

 
softer 2025-04-16

Parece que la diferencia en el motor del navegador es un tema importante, pero si piensas en la compatibilidad, incluida la móvil, también se siente menor.

 
pcj9024 2025-04-16

Si el problema del tamaño de la app es grande, entonces sí o sí conviene irse por Tauri.

 
wfedev 2026-01-16

Parece que tendré que probarlo para ver si realmente es una buena opción en cuanto a tamaño, memoria y sidecar. ¡Gracias por la introducción!