¿Qué son las aplicaciones electrónicas y por qué se han vuelto tan comunes?
¿Ha notado que muchas de las nuevas aplicaciones de escritorio se parecen mucho a los sitios web? No es tu imaginacion.
Desde Trello a Slack, desde WordPress.com a Github, es cada vez más común que las llamadas aplicaciones de escritorio incluyan un sitio web con algunas características nativas como notificaciones, acceso al sistema de archivos y menús. La tecnología más común para habilitar esto se llama Electron, y es utilizada por algunas aplicaciones que ni siquiera sospechas, como la aplicación de chat Discord y Visual Studio Code de Microsoft..
Electron facilita a los desarrolladores el lanzamiento de una aplicación simultáneamente en Windows, macOS y Linux, pero hay desventajas para los usuarios. Las aplicaciones electrónicas son enormes, por un lado. Slack, una aplicación de chat, ocupa 237 MB de espacio en el disco duro de mi Mac, y el consumo de memoria tampoco es bajo. ¿Qué está tomando todos esos recursos? ¿Y por qué los desarrolladores están usando algo tan ineficiente??
Las aplicaciones electrónicas son bastante fáciles de hacer
Las aplicaciones de escritorio son difíciles de hacer, especialmente si quieres que sean multiplataforma. El acceso al sistema de archivos funciona de manera diferente en Windows que en Linux, por ejemplo, y las notificaciones funcionan de manera diferente en macOS que en Windows. Esto significa que cualquier persona que quiera escribir una aplicación para los tres sistemas operativos de escritorio (o incluso dos de ellos) necesita volver a escribir gran parte de su código cuando se transfiere de uno a otro..
Electron “resuelve” esto al ofrecer una plataforma única que funciona en los tres principales sistemas operativos de escritorio. Esto significa que los desarrolladores pueden escribir el código para cosas como notificaciones una vez y esperar que funcione de forma nativa en cada sistema operativo. Aún mejor para los desarrolladores: todo se puede construir utilizando las tecnologías de Javascript, HTML y CSS, cualquiera que codifique para la web está muy familiarizado con.
Las aplicaciones electrónicas vienen con casi todo el cromo
¿Cómo es esto posible? En parte porque cada aplicación Electron incluye un navegador web completo: Chromium, la versión de código abierto de Google Chrome. Esto se incluye junto con las instrucciones específicas de la plataforma para garantizar que todo se comporte exactamente como los desarrolladores esperan en todos los sistemas. Es por eso que la versión de escritorio de Slack ocupa más de 200 MB de espacio en el disco duro: la mayoría de Chrome se incluye allí..
Cada aplicación de Electron que ejecute es más o menos una instancia completa de Chrome. Como señaló el blogger Joseph Gentle, esto no es lo ideal:
Puede pensar en Slack como un pequeño programa javascript que se ejecuta dentro de otra VM de sistema operativo (chrome), que tiene que ejecutar para esencialmente chatear en IRC. Incluso si tiene el chrome real abierto, cada aplicación electrónica ejecuta su propia copia adicional de la máquina virtual completa..
Así que sí, hay desventajas para los usuarios. En primer lugar, cada una de las aplicaciones electrónicas que descargue incluye la mayoría de Chromium, y cada aplicación que ejecuta ejecuta una buena parte de ese código. Aquí no se comparten recursos, como ocurre con las aplicaciones nativas, lo que significa que las aplicaciones de Electron ocuparán más espacio en el disco duro y la memoria que una aplicación desarrollada teniendo en cuenta específicamente su plataforma. Si el rendimiento es algo que realmente le importa, es posible que desee evitar las aplicaciones de Electron..
Espera, así es el electrón bueno o malo?
En este punto, las computadoras son tan poderosas que la mayoría de los usuarios ni siquiera notarán cuán ineficientes son las aplicaciones de Electron. De hecho, la gran mayoría nunca ha oído hablar de Electron. La mayoría de mis compañeros de trabajo no lo habían hecho, y todos usan Slack todos los días. Muchos estaban emocionados de ver salir una versión de escritorio de Trello, y de nuevo no tenían idea de que era una aplicación de Electron.
Y estas aplicaciones realmente se integran mejor con su sistema operativo mejor que los sitios web. Viven en su propia ventana. Ofrecen excelentes atajos de teclado, notificaciones nativas y otras cosas que no puede hacer de la misma manera con solo un navegador.
Y es una buena apuesta que las aplicaciones como Slack, Trello y WordPress.com no se molestarán en ofrecer una versión de escritorio si Electron no existiera, centrándose en cambio en las versiones para móviles y navegadores. Entonces la pregunta no es si Electron es malo; Es si las aplicaciones electrónicas son mejores que nada. Estoy dispuesto a decir que sí, pero la gente razonable puede estar en desacuerdo. (Y hey, para esas personas, siempre hay la versión web).