Rust vs Electron: cliente de Discord usaría 70% menos RAM

Rust vs Electron: cliente de Discord usaría 70% menos RAM

@programacion

Lo esencial

  • El nuevo cliente de Discord en Rust usa 290,2 MB de RAM con dos cuentas activas, 70% menos que la versión en Electron.
  • Electron empaqueta un motor Chromium completo dentro de cada app, por eso Slack, VS Code y Discord pesan cientos de MB en reposo.
  • Un empleado de Discord dijo en diciembre de 2025 que el uso normal en Electron supera 1 GB y la app se reinicia sola a los 4 GB.
  • Tauri usa el motor de renderizado ya instalado en el sistema operativo en vez de empaquetar su propio Chromium.
  • WebView2 de Microsoft reutiliza el motor de Edge que ya trae Windows 11, así cada app evita cargar su propia copia del navegador.

El cofundador y CTO de Discord, Stanislav Vishnevskiy, publicó un clip de 15 segundos en X: dos ThinkPads arrancan en frío, uno con la app actual en Electron y otro con el nuevo cliente en Rust. El de Rust carga la lista de amigos antes de que el otro termine de mostrar la pantalla de inicio. El video acumuló 2,3 millones de vistas.

Qué mostró exactamente el video

La app actual abre primero y muestra una pantalla oscura en blanco por tres segundos, con un tip que dice que Discord nació como app de navegador. El cliente nuevo se abre un segundo y medio después y su ventana aparece en menos de un segundo. Cuando la app en Electron por fin carga la interfaz, a los cinco segundos, el cliente en Rust ya tiene la lista de amigos lista; el otro todavía dice que no hay amigos conectados.

Coral, quien lidera audio y video en Discord, confirmó que ambos arranques fueron en frío, sin usar la bandeja del sistema. Según explicó, el nuevo cliente no necesita la pantalla de carga tradicional porque arranca rápido y tiene una arquitectura distinta; las actualizaciones ahora se bajan en segundo plano, sin modal ni espera de 5 a 10 segundos como en la versión actual.

Qué es Electron en realidad

Electron es un framework que combina dos piezas: el motor de renderizado Chromium (el mismo que usa Google Chrome) y el runtime de Node.js. Juntos permiten escribir una app de escritorio con HTML, CSS y JavaScript y empaquetarla para Windows, macOS y Linux desde un solo código base.

La analogía más simple: cada app en Electron trae su propio navegador adentro, aunque solo vaya a mostrar una pantalla. Fue creado por GitHub en 2013 para el editor Atom y hoy lo usan Visual Studio Code, Slack, Figma desktop, WhatsApp Desktop y, hasta este cambio, Discord.

Por qué cada app empaqueta su propio Chromium

La razón es consistencia: si cada app trae su propio motor, la interfaz se ve y se comporta igual sin depender de qué navegador tenga instalado el usuario. Además, el equipo reutiliza código y talento de desarrollo web en vez de aprender frameworks nativos distintos para cada sistema operativo.

El costo es que no hay nada compartido entre apps. A diferencia de las pestañas de un navegador, que reutilizan un solo proceso del motor, cada app en Electron corre su propia copia completa de Chromium y Node en memoria, aunque dos apps estén haciendo básicamente lo mismo.

El costo real en RAM y disco

Un empleado de Discord dijo en diciembre de 2025 que el uso normal de la app en Electron está bajo 1 GB, y que la compañía probó reiniciar automáticamente el proceso al llegar a 4 GB. Los editores de Windows Latest reportaron que, en sus equipos, la app en Electron suele quedar inactiva entre 1 y 2 GB.

Contra esa base, los 290,2 MB del nuevo cliente en Rust, corriendo dos cuentas a la vez, quedan cerca de un 70% por debajo del límite de 1 GB. Vishnevskiy aclaró que esa cifra es de un build temprano y que Discord todavía no publicó un benchmark comparativo oficial entre ambos clientes.

Tauri: apps de escritorio sin Chromium propio

Tauri resuelve el problema al revés: en vez de empaquetar un motor de navegador, usa el que ya trae el sistema operativo (WebView2 en Windows, WKWebView en macOS, WebKitGTK en Linux) y escribe la capa nativa en Rust. El resultado es un binario de unos pocos megabytes en lugar de los 150-200 MB típicos de un instalador de Electron.

#[tauri::command]
fn obtener_mensajes_canal(canal_id: String) -> Vec<String> {
// lógica en Rust, sin pasar por Node.js
cargar_mensajes_desde_disco(&canal_id)
}

fn main() {
tauri::Builder::default()
.invoke_handler(tauri::generate_handler![obtener_mensajes_canal])
.run(tauri::generate_context!())
.expect("error al iniciar la app");
}

Ese comando se invoca desde el frontend en JavaScript como una función normal, pero corre como código nativo compilado, sin un runtime de Node corriendo en paralelo. Por eso el consumo de memoria de una app en Tauri suele acercarse al de una app nativa escrita desde cero.

WebView2: el enfoque de Microsoft para Windows

Microsoft ofrece una ruta similar con WebView2: una librería que deja incrustar el motor de Edge (también basado en Chromium) dentro de una app nativa en C++, C# o .NET, sin que la app tenga que traer su propia copia del navegador. Windows 11 ya trae ese runtime preinstalado, así que la app solo lo referencia.

La diferencia con Electron no es que falte Chromium: es que el motor vive una sola vez en el sistema y varias apps lo comparten, en lugar de que cada una cargue la suya. La nueva app de Outlook para Windows y varias secciones de la Configuración de Windows 11 ya usan este modelo.

Cuándo Electron todavía conviene

Electron sigue siendo una opción razonable para equipos chicos que ya tienen una base de código web y necesitan lanzar en Windows, macOS y Linux a la vez sin triplicar el trabajo. Visual Studio Code, por ejemplo, sigue en Electron y compensa el consumo con técnicas como snapshots de V8 y carga diferida de módulos.

El trade-off real es el tiempo de ingeniería: según lo que describió el equipo de Discord, el cliente en Rust no es un port del código existente, sino una arquitectura nueva. Migrar de Electron a Tauri o a WebView2 implica reescribir la capa nativa, no solo cambiar una dependencia en el package.json.

Conclusión

Electron no va a desaparecer de un día para otro, pero el caso de Discord deja un dato concreto sobre la mesa: 70% menos RAM al dejar de empaquetar un Chromium propio. Para quien arranca un proyecto de escritorio en 2026, Tauri y WebView2 ya son alternativas maduras que vale la pena evaluar antes de asumir que Electron es la única vía.

📖 Versión extendida con más detalle: https://elsolitario.org/2026/11/07/electron-chromium-discord-tauri-webview2/?utm_source=telegraph&utm_medium=instant_view&utm_campaign=programacion

Report Page