Desarrollado por GitHub, Electron se está convirtiendo en la solución universal con la que empaquetar aplicaciones web para el escritorio, y como ejemplos recientes tenemos a Rambox, Wmail, Skype, Simplenote, WordPress Desktop, Visual Studio Code… ¿Se capta la tendencia? Ya no se trata de pedir aplicaciones nativas para Linux, debido a que las aplicaciones en general se llevan trasladando a la web desde hace años, y la web es multiplataforma.
Así pues, para utilizar una aplicación web solo hace falta un navegador web y prácticamente todos soportan características como almacenamiento de datos en disco o notificaciones, dos de las más típicas en cualquier webapp que se precie. Pero, ¿qué necesidad hay de crear aplicaciones independientes cuando pueden abrirse en pestañas? Eso queda al gusto del usuario. Las razones pueden ir de conseguir una mejor integración con el escritorio a ahorrar algo de recursos o gestionar aisladamente sitios concretos.
Sea como fuere, Electron permite encapsular aplicaciones web para consumo propio con bastante facilidad, según he podido descubrir vía Planet KDE. Y lo he probado. Funciona correctamente. ¿Es útil? Cuando menos es curioso, si bien no he apreciado tanta diferencia de consumo como la que señala el artículo con respecto a abrir el mismo sitio o aplicación web con un Chromium pelado de extensiones. Al fin y al cabo, Electron se basa en Chromium y en el cada vez más popular entorno de ejecución Node.js.
Así se hace en Ubuntu (16.04) y derivadas
Lo primero es instalar Node.js y su gestor de paquetes npm, y como más adelante hay que tirar de consola, mejor empezar en este momento:
sudo apt install nodejs npm
De nuevo con permisos de administrador, hay que instalar la utilidad que hará la magia desde el gestor de paquetes de Node.js:
sudo npm install nativefier -g
Acto seguido ya se puede comenzar a crear aplicaciones web. Basta con lanzar en la terminal algo así:
nativefier muylinux.com
Nativefier encapsulará cualquier sitio web de manera independiente, conservando sus características y asignándole un icono y nombre. El ejecutable, junto con el resto de archivos, aparecerá en una carpeta del mismo nombre en el home del usuario.
Si el anterior comando falla y el mensaje de error apunta a la falta de un archivo, es probable que sea a causa de un error con las rutas del ejecutable. Se soluciona rápidamente con un enlace simbólico:
sudo ln -s /usr/bin/nodejs /usr/bin/node
A saber, Nativefier permite aplicar distintas opciones a la aplicación empaquetada, tales como personalizar el nombre, el icono o las dimensiones por defecto de la ventana, entre otras. O incrustar código JavaScript o CSS en la webapp. Las posibilidades son interesantes.
La cuestión es, ¿merece la pena hacer esto en lugar de, simplemente, añadir un enlace de escritorio con Chrome o Chromium (Menú > Más herramientas > Añadir al escritorio…), que además de en el escritorio se encuentra en el menú de aplicaciones? Eso también queda al gusto del usuario.