🥇 Hola mundo en Electron

En este tutorial vamos a aprender a realizar la instalación de electron, ademas vamos a unir las piezas necesarias para aprender a crear un hola mundo en electron.

Este curso asume que ya tienes experiencia utilizando nodejs, si no es así te recomiendo primero completes el curso de nodejs gratis en español.

El instalador de nodejs tambien instala el manejador de paquetes npm, que nos permitirá instalar electron. Ademas del instalador npm también es posible utilizar el manejador de paquetes yarn que tiene algunas características que le permiten organizar mejor los paquetes que npm. Para instalar yarn de forma global podemos utilizar npm.

$ npm i --global yarn

Para verificar que yarn se ha instalado correctamente ejecutamos.

$ yarn -v

En mi caso continuaré utilizando yarn, siéntete libre de utilizar npm o yarn según consideres mejor.

🍿 ¿Cómo instalar electron de forma global?

Para realizar la instalación de electron de forma global vamos ejecutamos.

$ yarn global add electron

Al finalizar la instalación de electron podemos comprobar la versión que tenemos instalada ejecutando.

$ electron -v

Si el sistema no es capaz de identificar electron como programa, probablemente sea necesario agregar el path bin de los paquetes instalados con yarn a la variable PATH. En mi sistema operativo Linux este path es /home/usuario/.yarn/bin por lo que he agregado esta linea al archivo .profile de directorio home.

$ export PATH="$PATH:/home/usuario/.yarn/bin"

Después de actualizar el valor de PATH es necesario volver a reiniciar la terminal (o el sistema en algunos sistemas operativos).

🍿 Anatomía de una aplicación electron

Una aplicación electron consta de al menos 3 archivos.

package.json
Contiene información acerca de la aplicación como nombre de la aplicación, autor, dependencias, etc.
index.js
Es el punto de entrada a nuestra aplicación, es el primer archivo que electron ejecutara cuando arranque, este es un nombre genérico pero puede ser nombrado de cualquier forma siempre y cuando coincida con el valor especificado como punto de entrada en el archivo package.json.
index.html
Representa el contenido que es desplegado por la aplicación. Este contenido (la parte visual) que se carga mediante el archivo index.js y al igual que este el nombre index.html es solo una convención.

🍿 ¿Cómo crear una nueva aplicación en electron?

Para crear nuestro nuevo proyecto creamos un nuevo directorio llamado hola mundo.

$ mkdir hola-mundo

Dentro del directorio ejecutamos yarn para crear un proyecto en blanco.

$ cd hola-mundo
$ yarn init -y

Esto nos va a generar un archivo package.json como el siguiente.

{
  "name": "hola_mundo",
  "version": "1.0.0",
  "main": "index.js",
  "license": "MIT"
}

El archivo package.json consta de las siguientes propiedades.

name
Es el nombre de nuestra aplicación.
version
Es la versión de nuestra aplicación, esta se va incrementando conforme vamos liberando nuevas versiones.
main
Es la referencia al archivo de entrada a través del cual electron arranca nuestra aplicación.

🥤 Anatomía del archivo index.js

La forma mas básica de un archivo de entrada a una aplicación de electron es la siguiente.

// cargar libreria electron
const electron = require("electron");

// cargar libreria path para el manejo de rutas
const path = require("path");

// crear una variable contenedora de mi ventana principal
let ventana = null;

// cuando mi aplicacion electron este lista
electron.app.on('ready', function(){

    // crear una nueva ventana de 1024x800 pixeles y asociarla a la variable del contenedor
    ventana = new electron.BrowserWindow({ width: 1024, height: 800 });

    // sobre la ventana que cree cargar el archivo index.html
    ventana.loadURL(`file://${path.join(__dirname,'index.html')}`);

    // cuando se cierre la ventana
    ventana.on('closed', function(){

        // destriur mi contenedor
        ventana = null;

    });

});

// cuando se cierren todas las ventanas de mi aplicacion, cerrar mi aplicacion
electron.app.on('window-all-closed', electron.app.quit);

En el ejemplo hemos indicado que cuando inicie la aplicación, esta debe cargar el contenido del archivo index.html. Como el path al archivo debe ser absoluto, debemos tener en cuenta que accedemos a este a través de la variable __dirname que dependiendo del sistema operativo nos retorna un path diferente que apunta hasta el directorio donde se encuentra el archivo index.js, que es el mismo en donde se encuentra index.html.

🥤 Anatomía del archivo index.html

El archivo index.html de electron contiene la interfaz de usuario que se va a desplegar en la ventana. En su forma mínima un archivo html para este propósito contiene el siguiente código.

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width" />
        <title>Hola Mundo!</title>
    </head>
    <body>
        <h1>Hola Mundo!</h1>
    </body>
</html>

🍿 Ejecutar un programa creado en electron

Finalmente para realizar la ejecución del programa, vamos a la línea de comandos del proyecto e ingresamos lo siguiente.

$ electron .

Esto nos desplegará una nueva ventana con el mensaje “Hola Mundo”.

Detalles a considerar

Introducción al uso de Electron Componentes GUI, BrowserWindow
comments powered by Disqus