Aplicaciones de escritorio con Electron

Transformar una aplicación web o interactivo en una aplicación de escritorio, nos permite aprovechar el trabajo realizado para la comunicación online y traspasarlo a utilidades que se manejarán desde un ordenador, sin necesidad de estar conectado a Internet ni estar consultando constantemente a un servidor.

Foto de Piqsels

Para generar aplicaciones de escritorio multiplataforma a partir de código javascript y html, yo utilizo Electron. Se trata de una librería desarrollada por Github que genera aplicaciones web ya que utiliza Chromium y Node.js para ejecutar el código haciendo compatible la aplicación con los sistemas operativos:

El generar aplicaciones mediante Electron tiene sentido para optimizar los tiempos de desarrollo multiplataforma y aprovechar el material y equipo creado para el trabajo online en la web. Lo que es indiscutible es que la velocidad y optimización en el uso de la memorias y espacio en el disco van a ser mucho peores que las aplicaciones de escritorio realizadas en lenguajes más específicos y trabajando para cada plataforma por separado.

Hay que tener en cuenta que Electron es una plataforma que consta de un motor Chromium (el que usa Google Chrome) que tiene dentro además una capa de ejecución de javascript Node.js, esto hace que para hacer la mínima acción va a consumir un montón de memoria, además de el espacio en disco al copiar todas las librerías que necesita.

De todas formas hay proyectos que tienen sentido ya que no basan su operatividad en esa aplicación ya que se trata de una herramienta de apoyo o una utilidad de uso puntual, en ese caso es menos problemático el uso de recursos que llevan consigo las aplicaciones basadas en Electron.

Hay muchas aplicaciones que se han desarrollado con esta tecnología, entre otras Whatsapp para escritorio y Visual Studio Code (un gran editor de código que utilizo a diario para trabajar). Puedes ver un listado más amplio de aplicaciones desarrolladas en el apartado de aplicaciones de electronjs.

La librería tiene una web electronjs en español con amplia información, librerías y ejemplos.

Vamos a comenzar por saber que necesitamos para poder trabajar con Electron y generar una aplicación.

Requisitos y preparación del entorno de desarrollo

Electron funciona sobre la arquitectura Node.js y el gestor de paquetes y librerías npm y eso es lo primero que vamos a instalar, lo explicare para los tres sistemas operativos ya que para generar el ejecutable y el instalador hay que estar en una máquina con ese sistema operativo.

Windows

En Windows el proceso consiste solo en instalar Node.js desde su web, al entrar reconoce el sistema en el que nos encontramos y nos ofrece la última versión a descargar.

Al instalarlo nos instala también la última versión de nmp que es el gestor de paquetes y librerías de Node.

Para trabajar luego con el gestor de paquetes usaremos el Símbolo de Sistema de Windows, yo uso un emulador del terminal de linux que es más cómodo e intuitivo que la consola de Windows se trata de Cmder para obtenerlo lo descargamos desde su web, yo gasto la versión mini, tiene una versión full que incluye git para Windows.

Linux

En Linux la instalación la realizamos en el terminal, comenzamos actualizando las fuentes de instalación:

sudo apt update

Seguidamente instalamos Node seguramente se instalará una de las versiones ya operativas un tiempo:

sudo apt install nodejs

Instalamos el gestor de paquetes npm:

sudo apt install npm

Si queremos saber que versiones hemos instalado:

node -v</code>
<code>npm -v

Para manejar diferentes versiones de Node tenemos que el gestor de versiones NVM usando Curl:

sudo apt install curl

E instalamos NVM:

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash

Una vez tenemos NVM, para saber las versiones de node que tenemos instaladas:

nvm ls

Y para saber las versiones disponibles para instalar:

nvm ls-remote

Para instalar la versión 12.13 de Node:

nvm install 12.13.0

Para usar una versión en concreto:

nvm use 12.13.0

Mac

En Mac al igual que en Windows instalamos Node.js con el ejecutable que descargamos desde su web, al entrar reconoce el sistema en el que nos encontramos y nos ofrece la última versión a descargar.

Instala tanto node como el gestor de paquetes y librerías npm.

Una vez instalado cuando usemos npm nos puede dar un error (EACCES: permiso denegado, acceso ‘/usr/local / lib / node_modules’).
Para solucionarlo hay que cambiar los permisos de archivo de la carpeta node_modules, lo haremos en el terminal. Primero verificamos quién es el dueño de la carpeta.

 ls -la /usr/local/lib/node_modules

Si se está denegando el acceso porque la carpeta node_module es propiedad de root esto debe cambiarse cambiando la raíz a tu usuario, para verificar cual es el usuario:

id -un

Luego nos colocamos en la carpeta lib y cambiamos node_modules de dueño (donde dice nombredeusuario habría que poner el nombre del usuario que se está utilizando:

sudo chown -R nombredelusuario /usr/local/lib/node_modules

Ya tenemos Nodejs

Ya tenemos Nodejs que es lo principal para trabajar con Electron, conviene también que tengamos instalado Git y nos apoyemos en el para gestionar el desarrollo y versiones del proyecto.

Lo siguiente será generar el proyecto para crear la aplicación.


Siguiente artículo sobre la Aplicaciones de escritorio con Electron: «Iniciar un proyecto Electron».

Compartir