0

Tauri Vs Electron

¡Prepárate, porque hoy vamos a presenciar el duelo de titanes del desarrollo de escritorio! En una esquina, el veterano de mil batallas (y de mil gigas de RAM consumidos), Electron. En la otra, el joven retador que promete ligereza y velocidad con sabor a Rust, Tauri.

Si alguna vez has abierto Discord y VS Code al mismo tiempo y has escuchado a los ventiladores de tu laptop pedir clemencia, este artículo es para ti.

Introducción

Imagina que quieres enviar una carta. Electron es como si, para enviar esa carta, compraras un camión de mudanzas gigante, contrataras a un chofer a tiempo completo y llevaras dentro del camión una oficina entera solo para entregar el sobre. Funciona, claro, pero es… un poco mucho. Tauri, en cambio, es como un dron de carreras: lleva exactamente lo que necesitas, va a toda velocidad y no gasta combustible innecesario.

¿Por qué importa?

La elección de tu framework de escritorio define el destino de tu aplicación:

  • Rendimiento: ¿Tu app se sentirá fluida o como si estuviera caminando por arena movediza?
  • Seguridad: ¿Qué tan expuesta está la superficie de ataque de tu ejecutable?
  • Tamaño del binario: ¿Tus usuarios tienen que descargar 200MB de instalador para una app de notas?

Manos a la Obra

A nivel técnico, la diferencia principal radica en el motor de renderizado y el lenguaje del backend.

CaracterísticaElectronTauri
RuntimeNode.jsRust
RenderizadoChromium (Embebido)WebView del Sistema (Edge/Safari/Webkit)
Tamaño de AppGrande (~80MB+ de base)Muy pequeño (~600KB – 2MB)
Uso de RAMAlto (cada ventana es un Chrome)Significativamente menor

El «Backend» de Tauri (Rust)

Mientras que en Electron usas JavaScript para todo, en Tauri el «cerebro» está en Rust, lo que te da una seguridad de memoria de nivel militar.

// src-tauri/src/main.rs
#[tauri::command]
fn saludar_desde_rust(name: &str) -> String {
    // Comentario de mentor: Rust es estricto, pero es tu mejor amigo para evitar bugs raros
    format!("¡Hola {}! Estás ejecutando código nativo súper rápido.", name)
}

fn main() {
    tauri::Builder::default()
        .invoke_handler(tauri::generate_handler![saludar_desde_rust])
        .run(tauri::generate_context!())
        .expect("error mientras se ejecutaba la aplicación tauri");
}
Llamando desde el Frontend (JavaScript/TypeScript)
En el frontend, puedes usar cualquier cosa: React, Vue, Svelte o Vanilla JS.
JavaScript
import { invoke } from '@tauri-apps/api/tauri'

// Invocamos el comando de Rust desde nuestro botón de JS
async function llamarAlNinja() {
  const respuesta = await invoke('saludar_desde_rust', { name: 'Dev' });
  console.log(respuesta);
}

Resultado

No te voy a mentir: Tauri tiene una curva de aprendizaje más empinada.

  • Electron: Si sabes hacer una web, sabes hacer una app de Electron. Es así de simple. Tienes acceso a todo el ecosistema de npm sin fricciones.
  • Tauri: Vas a tener que pelearte un poco con el compilador de Rust (que es un juez muy severo) y entender cómo funcionan las WebViews del sistema, que pueden variar un poco entre Windows y Mac.
  • Migración: Si ya tienes una app en Electron, migrar a Tauri requiere reescribir tu lógica de Node.js a Rust. No es un «copiar y pegar», pero el ahorro de recursos lo vale si tu app es compleja.

Conclusión

Electron sigue siendo el rey de la conveniencia (gracias por VS Code, de verdad), pero Tauri es el futuro para quienes respetamos la memoria RAM de nuestros usuarios. Es la diferencia entre construir un tanque o una bicicleta de fibra de carbono.

Reto: Intenta crear un «Hola Mundo» en ambos frameworks. Compara el tamaño del ejecutable final. Si el de Electron pesa más que tu carpeta de fotos de vacaciones y el de Tauri menos que un archivo MP3, sabrás exactamente cuál elegir para tu próximo gran proyecto.

Fernando Sonego

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *