Discord abandona Electron: su nueva app en Rust abre antes y consume 70% menos RAM

Every Windows 11 app should kill Electron, and Discord just showed why

Discord abandona Electron: su nueva app en Rust abre antes y consume 70% menos RAM

Discord está reescribiendo su cliente de escritorio en Rust con GPUI, el framework de los creadores de Zed, y los primeros resultados son contundentes: en una prueba de arranque en frío, la nueva app carga la lista de amigos antes de que la versión Electron termine su pantalla de inicio. Además, usa 290 MB de RAM con dos cuentas abiertas, frente a los 1-2 GB habituales del cliente actual. También elimina la pantalla 'Starting' y actualiza en segundo plano. La versión móvil dejará React Native y la web pasará a WebAssembly.

El nuevo cliente de Discord que usa menos RAM es solo parte de la historia. Hacer clic por la interfaz se siente instantáneo, no puedo volver atrás. Mira el tiempo de arranque.
  1. cheschire

    Estoy bastante seguro de que esto se sabía desde los primeros días de Electron. Incluso fue una de las principales quejas sobre VS Code cuando se lanzó por primera vez.

    La propuesta de valor de Electron siempre ha sido tener un solo equipo produciendo una sola app que funciona en múltiples plataformas con un esfuerzo adicional mínimo.

    Este artículo no hace nada para abordar eso.

  2. ezst

    ¿Es una reescritura completa de la UI en un framework nativo/no-web? Porque en caso de que no lo sea, esto sigue corriendo en un navegador, es decir, está en torno al 80% del factor de hinchazón de Electron, y lo que lo hace más rápido es posiblemente (¿principalmente?) que todavía no han llegado a añadir tantas cosas como las que se ven en el cliente normal.

    Discord es un protocolo del lado del servidor (el cliente no hace mucho más que mostrar el estado prescrito por el servidor), hay muy poca lógica/cómputo ahí que pueda explicar una diferencia abismal.

  3. LaurensBER

    Electron es bastante genial en el sentido de que permite a un equipo pequeño construir una app GUI decente usando las habilidades web que ya tienen, pero también parece que ya es hora de algo mejor a estas alturas.

    Con los precios de la RAM tan locos como están. Es bastante frustrante tener que ejecutar múltiples aplicaciones que se comen varios GB solo para hacer algunas tareas básicas (el 90% es leer y escribir mensajes, en el caso de Discord). Entiendo que otra gente quizá use las funciones más avanzadas (chat de voz, etc.) pero estas podrían cargarse bajo demanda.

    Me parece un poco una locura que pueda ejecutar cómodamente todo un stack de Linux (+ Podman, monitorización, alertas y múltiples servicios) en 512 MB de RAM (¡con un 40% libre, acabo de comprobarlo!). Sin embargo, mi PC con Windows necesita 5,5 GB solo para mostrar el escritorio. Realistamente necesita entre 8 GB y 16 GB para algo de navegación web básica, e incluso así puede sentirse lento si tienes unas cuantas apps como Discord corriendo en segundo plano.

  4. mococa

    No entiendo esta idiocracia — es súper fácil (yo mismo lo he hecho solo muchas veces) tener una única base de código en Qt para todos los sistemas operativos, incluso los BSDs.

    Creo que la gente se ha vuelto súper perezosa... "Ah, va a ocupar unos cientos de MB de RAM, no hay problema, vamos a publicarlo".

    Son empresas con miles de millones o incluso billones publicando basura con Electron.

  5. smusamashah

    Nos hemos acostumbrado tanto a que las apps arranquen lento hoy en día, creo. Hace poco empecé a usar Task Slinger [1] y cada vez que lo arranco tengo la sensación de que ya estaba corriendo y que simplemente apareció su ventana. Ojalá todo el software moderno fuera así.

    [1]: https://taskslinger.net/

  6. bemtevi

    Rara vez me ha gustado alguna app de Electron, tanto por el rendimiento como porque parece fomentar una sensación de hinchazón, a falta de una palabra mejor. Probé VS Code, pero lo dejé cuando empezaron a meterle demasiada IA y demasiada complejidad. Sublime es muchísimo mejor.

    No sé... parece haber algo desagradable en todas las apps de Electron.

  7. EddieRingle

    Discord no es realmente el modelo a seguir aquí, en mi opinión. Mataron su app nativa de Android y se pasaron a React Native, y ahora están abandonando React Native (mientras que en móvil de algún modo mantienen "UI nativa", según el tuit de su CTO). Si querían maximizar la reutilización de código y acelerar el desarrollo de funciones, deberían haber considerado Kotlin Multiplatform, y así se habrían saltado el desvío por React Native mientras construían de verdad apps nativas para la plataforma. (Rust y su cacofonía de frameworks de UI no son realmente nativos de ninguna plataforma, que yo sepa. Quizá en Pop OS, pero no conozco a nadie que apunte específicamente a eso.)

    Esta parte es obviamente subjetiva, pero Rust como lenguaje simplemente no es lo bastante ergonómico para muchos de los casos de uso a los que la gente intenta aplicarlo, especialmente el desarrollo de UI. La mayoría de las librerías de UI de Rust que he visto hasta la fecha o usan un estilo más imperativo, o intentan replicar enfoques más declarativos como Compose UI o SwiftUI, pero sin la agradable estética del lenguaje que hace que sea sencillo de leer y escribir. Y si el contraargumento ahí es que los LLMs lean y escriban estas cosas, eso es otro mundo aparte: (1) la era de la inferencia subvencionada está llegando rápidamente a su fin y (2) si de todos modos vas a usar LLMs, ¿por qué no mantener apps que sean lo más nativas posible a cada plataforma?

  8. azuanrb

    Electron siempre ha consistido en publicar apps multiplataforma rápidamente, a costa de un mayor uso de memoria y un rendimiento potencialmente peor. Con o sin LLMs, su propuesta de valor central sigue siendo la misma. Los LLMs simplemente amplifican las fortalezas que el framework ya tenía.

    Raycast, originalmente un launcher nativo de macOS, lanzó recientemente la v2 usando una arquitectura híbrida. No es Electron, pero sigue un enfoque similar al de la app de escritorio de Spotify, usando tecnologías web dentro de un shell nativo.

    El uso de memoria sigue siendo bastante significativo. Está usando alrededor de 350–450 MB en reposo y a veces puede llegar a 1–2 GB dependiendo de la carga de trabajo. Lo bueno es que ahora pueden compartir la mayor parte de su código entre macOS y Windows y evolucionar más allá de ser solo un launcher de apps.

    Siempre ha sido cuestión de compensaciones, y los LLMs no cambian eso de forma fundamental.

Más de este día

2026-11-07