Tras 10 meses en beta, ayer WhatsApp por fin lanzó su nueva aplicación para Windows. Lo relevante es que no es una leve mejoría de la aplicación que existía hasta ahora en la Tienda de Microsoft, sino que llega totalmente renovada, desde el diseño hasta el código, pues como WhatsApp explica, ahora es una aplicación nativa.
Desde que se lanzó WhatsApp Desktop, lo que realmente ha estado usando el usuario es WhatsApp Web empaquetada para parecer y tratar de comportarse al máximo posible como una aplicación nativa. Para ello, se usaba el framework Electron.
Qué pasaba con WhatsApp Desktop en Windows hasta ahora

Que una aplicación utilice Electron quiere decir que, al ejecutarla, estaremos lanzando una instancia de Chromium con una capa de ejecución de javascript Node.js. Es decir, que cada vez que abríamos WhatsApp Desktop, lo que realmente estábamos lanzando era un navegador dedicado a mostrar con algún cambio la versión de WhatsApp Web. Y como sabemos, los navegadores hoy en día no son nada ligeros, aunque su único cometido sea mostrar una sola web.
El problema es que si teniendo WhatsApp Desktop abierta también ejecutamos Slack o Spotify, que también usan Electron, no estaremos haciendo algo parecido a abrir tres pestañas de un navegador del que comparten una base de recursos, sino que estaremos abriendo tres navegadores distintos, lo que hace que el consumo de recursos se dispare mucho más que cuando hablamos de desarrollos nativos, como WhatsApp ha hecho al utilizar la Plataforma universal de Windows (UWP).
Es la propia compañía la que ha explicado las ventajas de utilizar una aplicación nativa (algo que no han hecho los últimos seis años):
- Ofrecen mayor confiabilidad y velocidad.
- Están diseñadas y optimizadas para el sistema operativo de tu computadora.
- Permiten seguir recibiendo notificaciones y mensajes incluso cuando tu teléfono no está conectado.
Así de mala era la situación, y así ha mejorado con la nueva aplicación de WhatsApp
Aunque WhatsApp ha informado de que la nueva aplicación está disponible desde ayer, la realidad es que en la Tienda de Windows aparecen sus capturas, pero aún no hemos podido descargar la aplicación desde el resultado de "WhatsApp", pues se sigue instalando la vieja app.
Sin embargo, instalando esa, la vieja, hemos podido comparar el consumo de recursos con la nueva, que podemos descargar buscando "WhatsApp Beta". Pese a tratarse de una beta, está tan avanzada que podemos sacar conclusiones de la versión final que comenzará a llegar a los equipos. Como mínimo, entendemos que mejorará lo visto en nuestras pruebas.
Esto es lo que pasa cuando abrimos Administrador de tareas para comprobar el consumo de memoria RAM en un portátil moderno con 8 GB de RAM en Windows 11:


Como vemos, sin nisiquiera comparar, hablamos de un consumo de recursos altísimo para una aplicación que tampoco es tan grande ni compleja, y en la que ni siquiera habíamos abierto aún diferentes conversaciones ni hecho scroll para tener que cargar adjuntos, notas de voz, etc. Sin embargo, la cosa puede ir incluso a más si hacemos todo eso, como vemos en la siguiente imagen.

El uso de memoria RAM se dispara hasta los 800 MB de forma estable, habiendo llegado a ver picos de 1 GB. Algo absolutamente descomunal que rivaliza con grandes programas de escritorio. Esto, en equipos con muchos recursos, con más de 16 GB de RAM, puede no ser un problema. Pero para la mayoría de equipos domésticos, abrir WhatsApp y otras aplicaciones que usen Electron, como Spotify, Slack y demás puede suponer ahogar a un equipo.
Y la prueba de que se puede hacer mejor la tenemos en la nueva aplicación de WhatsApp, cuyo consumo también hemos medido.

Al abrirla por primera vez, el consumo observado fue de unos 200 MB. Sin embargo, al volver a abrirla de ahí en adelante, tras cerrar y tras reiniciar el equipo, de media se ha quedado en unos 100 MB, como se ve en la captura. Al abrir distintas conversaciones sube un poco, pero lo normal es verla en esas cifras. Hablamos de reducir el consumo cinco veces, y mucho más si hablamos del consumo máximo de cada una de estas dos aplicaciones.
El rendimiento de la nueva WhatsApp nativa para Windows tampoco es excepcional al hacer scroll dentro de un chat, porque al fin y al cabo tiene que ir descargando todo a gran velocidad, pero el salto es tremendo. Y la cosa no solo tiene que ver con la RAM.
Haciendo una sencilla prueba de uso de CPU con todo lo demás cerrado, la vieja WhatsApp llega a usar un 60% del total del uso del sistema al hacer scroll por la lista de chats. La nueva, un 20%. Al abrir conversaciones y tener que cargar todo la cosa se iguala un poco, pero las mejoras son impresionantes.
Las razones sobre por qué una compañía multimillonaria como Meta desarrolla aplicaciones de escritorio utilizando Electron están claras: Se asegura la compatibilidad multiplataforma de una manera cómoda y rápida. Se implementan los cambios en la web, y de ahí las novedades pasan directamente a Windows, macOS y el resto. Es un desarrollo que llega a tres plataformas sin un esfuerzo extra, sumado a que hoy en día hay muchos más desarrollares web que de otras tecnologías.
Dejar de usar una web como base para pasar a código nativo como solución a los problemas de rendimiento no es algo nuevo. La propia Facebook lo hizo hace ya 10 años en Android y en iOS, cuando pasaron de HTML5 a este tipo de desarrollo.
Sin embargo, son estas empresas las que precisamente tienen recursos para hacerlo mucho mejor y contar con equipos dedicados al desarrollo nativo de cada plataforma, aunque sea más lento. De otra forma, PCs domésticos que podrían funcionar con fluidez muchos más años, se van ahogando simplemente porque las aplicaciones, como hemos visto, pasan años y años sin estar optimizadas. Hechos como este de Electron, en muchas apps, son los que me han llevado a despedirme de mi antiguo MacBook Air M1.
Ver 42 comentarios
42 comentarios
nickr
Consume casi tanta RAM como los vídeos auto-reproducidos de Xataka
Antonio
Electron es un cáncer, la verdad. Habrá permitido a mucha gente meterse en el mundo de las aplicaciones y juegos sin suficientes conocimientos, lo cual tiene su valor, pero vaya asco de entorno.
Y no solo Whatsapp. El famoso Vampire Survivors de Steam, uno de los más populares este año, también es un "juego web" montado en Electron.
La única app que tolero en Electron es Motrix, una GUI de aria2c.
alexm
Electron es una peste que debería estar prohibida. Apps de mierda, consumo elevado y vagancia con la excusa de compatibilidad entre sistemas.
chandlerbing
Quien inició esta moda de mínimo esfuerzo fue Apple.
Con Safari y Itunes que a día de hoy creo que siguen siendo lentas, por necesidad uso la última, que si no.
Quitando que a Safari lo dejaron morir de nada y creo que crasheaba mas veces que las veces que funcionara bien.
Sin Windows Phone deberían apuntar a apps nativas para Windows 10 y 11 que son casi lo mismo.
Con pocas apps nativas no va a crecer la tienda si tienen mal desempeño.
togepix
Lo verdaderamente insultante no es que lo haga un desarrollador, lo puedo entender.
Es que lo hagan Facebook, Google, Microsoft o Amazon.
Multinacionales tecnologicas con experiencia que saben que lo que desarrollan es una mierda, pero por encima te jode un ordenador en su uso habitual.
Pero es un signo evidente del capitalismo salvaje de las tencologicas : Facebook no ha desarrollado hasta ahora una versión nativa en Windows por una mera cuestion de costes, ni siquiera poniendo la calidad por delante de uno de sus principales productos ( WhatsApp ) , y todo para ahorrarse unos euros en inversión que no le supondrian nada en la cantidad de miles de millones anuales en beneficios.
Prefieren sacar una mierda de su principal producto, antes que entregar un buen soporte de uno de sus principales y mas exitosos productos.
pablo.blancofierro
Acabo de descubrir que la versión nueva tiene un Bug, que hace que al llevar abierto el programa un par de horas empiece a usar cerca de un 10% de CPU (Con un Ryzen 9 3900) sin hacer nada...
dsa10
Puta basura de Electron, quien hace aplicaciones usando esa mierda debería quemarse en una hoguera.
dinepada_1
Electron es el peor cancer, para que hacer esa aberrración si simplemente puedes cargar la app en tu navegador? o mejor desarrollar un programa como se debe
migue1911
Pregúntenle a Blizzard, que el menú de todos sus juegos es una ventana de navegador.
adar48
Esto es muy extraño, siempre tengo el administrador de tareas y whatsapp deskop abiertos y a mi nunca me había consumido tanto en los varios meses que la he usado, cuando mucho talvez 300 mb me ha consumido.
rennoibtg
Entiendo que si es una app de un estudio pequeño, permite que prácticamente uses casi el mismo código que usaste para la app móvil, lo cual es genial para economizar, pero obviamente es un coste importante. El problema es que las apps de teléfono, se están tirando el front de frameworks como React en este caso, que es rápido de desarrollar y bastante eficiente en Android y iPhone, con respecto Java o Swift. Pero un ordenador con Windows funciona muy diferente y esa diferencia es mucho mayor, tienes que tirar de java, C#, C++ o C para ganar esa eficiencia, y son lenguajes más duros a la hora de desarrollar, porque son más complejos y lentos en el desarrollo.
De hecho en el desarrollo de aplicaciones hay que elegir normalmente entre más optimizado o menos tiempo de desarrollo (y coste).
andrechi
Ahora resulta que las aplicaciones progresivas son una mierda cuando hace unos años nadie quería las UWP nativas.
Adrián
Vaya, pues me han quitado la venda de los ojos, no abriré más el programa de Spotify, sino que lo haré en Brave o el navegador que tenga abierto, por casualidad WhatsApp siempre lo abrí en navegador.
Aghonick
¿Se podrá usar Wine en Linux para evitar la basura de Electron?
zark
Blizzard utiliza para sus menús Qt con C++
Las webs se cargan usando componentes nativos de windows.
Llevo 10 años intentando convencer a proyectos que usen C++ en lugar de electron y hacer cosas nativas. Pero es una lucha imposible. La gente, incluidos los usuarios, quieren MIERDA.
Y te diré el motivo, todos piden que funcione en la web, a parte de aplicación "nativa". La web tiene limitaciones en cuanto a protocolos y capacidades, se define con HTML, se ejecuta javascript, así que aunque hagas una aplicación nativa, si quieres que funcione con web, te toca picar código extra y pruebas, etc para enlazar ambos. Al final lo más sencillo es hacer la web y meterla en electron.
kanete
Igualmente, por mucho que en vuestros blogs y Meta anunciéis que la aplicación está disponible desde ayer aún no ha llegado a los usuarios. Así que alguien aquí está mintiendo.
jzperu
Si Whatsapp consume recursos... su pagina web... cada vez que visito Xataka.com.... veo que me consume casi 2 GB de recursos de memoria.... chequeen!!!!!
Nauhr
¿Y no se podría hacer que se abrieran en una pestaña del navegador? O como mínimo que si abres varias fuesen el mismo navegador. Porque no tiene ningún sentido que ahora mismo tenga Chrome abierto con Slack, Discord y WhatsApp además dos pestañas de Xataka y me consumen lo mismo que la WebApp de WhatsApp sola, unos ~800mb de RAM.
No sé si esto debería ser un cambio de Electron o de Windows, pero está claro que esto debe cambiar.
Nozomi
Lamentablemente Electron viene como el anillo al dedo para los devs más perezosos, a eso le sumas la obsolescencia programada y la ley del mínimo esfuerzo que buscan activamente muchas empresas y desarrolladores y tienes una situación en la que todos ganan, unos porque les permiten hacer que el negocio siga funcionando y a otros les complace (menos a los usuarios finales, que como sabemos en estos casos no cuentan).