El navegador como plataforma de escritorio

Es innegable el avance que ha dado JavaScript en los últimos años.
Con la aparición de Node se ha vivido una revolución en cuanto a las posibilidades de uso de este lenguaje. Para mí la más alucinante de las que hemos visto recientemente es la posibilidad de crear, con tecnologías web, aplicaciones de escritorio.

Esto abre muchas posibilidades. Es cierto que se puede querer crear una aplicación de escritorio que sirva de cliente nativo a algo que ya tengamos desarrollado para web, pero esta sólo una de ellas. Muchas gente no se siente igual de cómoda utilizando una aplicación a través del navegador que desde una aplicación instalada. Son simplemente experiencias de uso diferentes. O podemos querer hacerlo para darle también un aspecto diferente.

Pero el tema no es sólo ese. La cuestión para mí más interesante es que podemos tener acceso a interactuar directamente con el sistema como con cualquier programa instalado. Acceso a ficheros, lectura y escritura de los mismos, notificaciones de escritorio nativas, lanzar procesos en hilos o crear elementos en la bandeja de sistema entre otros. Muchas posibilidades que de manera habitual no estarían disponibles desde JavaScript y además integradas en el sistema, con el comportamiento que se espera de cualquier app instalada. Y todo ello podemos hacerlo multiplataforma.

Github, durante la creación de Atom, su editor de código, creó un framework que permite hacer este tipo de implementaciones: Electron.

Electron ya lo utilizan varias aplicaciones de éxito como Slack, Visual Estudio, Wire y algunos clientes de Git para escritorio.

Con este tipo de propuestas se consolida el desarrollo de aplicaciones basadas en tecnologías web no como algo de moda, sino como una opción más de lenguajes para cualquier tipo de desarrollo. La amplitud de posibilidades que ofrece una interfaz creada en HTML y CSS es enorme como sabemos por la web y tener la opción de programar en JavaScript, hace posible que una persona con conocimientos de programación web pueda crear para diferentes entornos y sistemas, reutilizar mucho código e incluso que empresas o proyectos que no pueden tener un alto número de programadores se puedan lanza a la aventura de varias plataformas.

Si se quiere empezar a probar, recomiendo la documentación oficial y echar un ojo a este vídeo de una presentación durante un NordicJS que explica muy bien cómo funciona y cómo dar los primero pasos para crear con Electron.

Pablo Bernardo
Pablo Bernardo

Hola, soy Pablo. Soy programador frontend, padre, estudiante de zen y otras cosas. Para saber más, lee algunas entradas.