En realidad, Electron es mejor de lo que parece
(blog.vaxry.net)- Electron suele cargar con la idea equivocada de que es lento e ineficiente, pero en realidad es una herramienta eficiente y potente
- Los problemas de uso de RAM y tamaño de almacenamiento son una tendencia general de las apps modernas, no algo exclusivo de Electron
- En apps donde son importantes las funciones basadas en tecnologías web, como los servicios de streaming, Electron puede ser incluso una elección más natural
- Está optimizado para desarrollo rápido y redes asíncronas, por lo que ofrece una productividad muy alta
- La idea de que Electron es lento se debe principalmente a apps de baja calidad hechas por empresas; una app bien hecha con Electron puede ser suficientemente rápida y útil
Prejuicios sobre Electron
- Electron es como un navegador Chromium que muestra una página web de forma local
- A partir de eso se extendió la percepción de que es lento, ineficiente y "no nativo", pero en realidad no es cierto
Eficiencia
- Si Electron fuera ineficiente, el propio navegador Chromium no funcionaría correctamente
- Electron simplemente empaqueta juntos muchos elementos para que la app funcione bien
Uso de RAM
- La afirmación de que "Electron consume mucha RAM" no se ajusta a la realidad
- Resultados de mediciones reales
- Vermilion (basado en Electron): 215MB
- Dolphin (basado en Qt6/KDE): 258MB
- Nautilus (basado en GTK4/Libadwaita): 374MB
- A medida que las apps modernas incorporan más funciones, tienden a consumir más RAM, y eso no es un problema exclusivo de Electron
Tamaño de almacenamiento
- Las apps de Electron empaquetan muchas dependencias juntas, por lo que su tamaño aumenta
- Tiene una estructura similar a Flatpak o AppImage, lo que mejora la portabilidad y estabilidad
Velocidad
- Que una app de Electron sea lenta no se debe al propio Electron, sino principalmente a que las apps hechas por empresas suelen estar desarrolladas de forma descuidada
Casos en los que Electron incluso es mejor
Manejo de DRM
- Los servicios de streaming usan DRM, y eso requiere tecnologías basadas en la web
- Por ejemplo, Tidal requiere Widevine, y en Electron ya existe un ecosistema que permite integrarlo fácilmente
- Spotify también solo puede hacer streaming legalmente mediante módulos de JS
Velocidad de desarrollo
- Typescript y Electron permiten un desarrollo muy rápido para quienes tienen experiencia en tecnologías web
- En comparación con frameworks basados en GTK o QT, las tecnologías web son mucho más accesibles y fáciles de aprender
Redes asíncronas
- En casos como las apps de streaming, donde la comunicación asíncrona es frecuente, las tecnologías web están mejor optimizadas
¿Electron sirve para todo?
- En teoría sí, pero no es adecuado para casos como apps esenciales de escritorio, donde se requieren recursos mínimos
- Para apps complejas, con muchas funciones en línea y que deben considerar el entorno multiplataforma, Electron es una elección lógica
- Si se da por sentada la calidad del desarrollo, también es posible crear apps de Electron suficientemente rápidas y eficientes
- Como ejemplo, apps de Electron como Obsidian o VS Code muestran un rendimiento excelente
- Con los avances recientes en WASM, si se descargan las tareas pesadas, las apps de Electron también pueden competir con las apps de escritorio tradicionales
Conclusión
- La mayoría de las quejas sobre Electron se deben a versiones antiguas de Electron o a apps corporativas de baja calidad
- La idea de que "es lenta porque es una página del navegador" está alejada de la realidad, y los navegadores modernos muestran un rendimiento muy alto
16 comentarios
Es porque no has visto una buena casa de Electron ~
... eso es lo que parece que están diciendo jajaja
Yo también usaba Electron hace 2 o 3 años, pero últimamente lo estoy haciendo con Tauri..
Me gusta
Usen Tauri. Tiene backend en Rust y la integración es más fácil de lo que parece.
Solo hay afirmaciones y ni una sola evidencia.
De todos modos, ¿quieres decir que la experiencia de apertura es mejor que con algo como Qt?
Entiendo los otros puntos, pero la afirmación sobre la RAM está demasiado alejada de la experiencia...
Las aplicaciones de Electron que siempre deben permanecer ejecutándose en segundo plano me parecían algo pesadas.
Pues no sé... incluso con solo 3 o 4 apps de Electron abiertas, es muy común que ya andes sufriendo por falta de memoria....
Hay demasiada superficie de ataque y no le prestan mucha atención, así que ahora pienso dejarlo.
Estoy de acuerdo en que es un buen framework por sí mismo, pero como muchas empresas y startups se enfocan en sacar productos rápido con la excusa de la buena productividad sin preocuparse por el rendimiento, cuando dicen que algo está hecho con Electron termino rechazándolo de entrada.
Aunque uso una buena laptop, sinceramente no me queda muy claro eso de que VS Code sea rápido. Al final termino usando IntelliJ, que de plano es pesado pero muy cómodo por la cantidad de funciones que tiene, o si no, un IDE o editor de texto desarrollado de forma nativa. Definitivamente se sentía más rápido y la experiencia era mejor.
Es muy bueno, pero como tiene un tamaño base, no da para usarlo en cualquier lado...
Electron está buenísimo, ¿quién dice que no?... está buenísimo.
Problemas como los de Flatpak o AppImage me parecen totalmente irrelevantes cuando vuelves a Windows, la verdad jaja..
Creo que Electron en sí es un framework muy bueno. El desarrollo del framework es muy activo y, sobre todo, prácticamente todo lo que se va a implementar en Chromium ya está ahí.
Cosas que la gente malentiende sobre Electron
Comparación entre Tauri y Electron - rendimiento, tamaño del bundle y los trade-offs reales