541 - JavaScript. Rey en Linux
Desde hace unos años #javascript se ha convertido en uno de los lenguajes mas mimados en #linux para el escritorio, ya sea #GNOME o #KDE u otros
A mi, como a muchos de los que en aquel momento vivimos la aparición de GNOME Shell, no me terminaba de convencer. Pero no me terminaba de convencer, porque simplemente no entendía el cambio que se había producido. Sin embargo, cuando leí el apoyo al desarrollo de aplicaciones, plugins y extensiones con JavaScript, lo comprendí todo. Me pareció un movimiento muy inteligente, mas que nada, por el cambio que se estaba produciendo de forma global en el desarrollo de aplicaciones. Y no solo en el frontend si no también en el backend. El mundo del desarrollo se había puesto muy serio con JavaScript, y ese movimiento debía de ser una auténtica revolución. Y ciertamente, no ha sido únicamente GNOME, sino también Plasma, las que han visto todo esta revolución, y me han llevado a esto de hoy JavaScript. Rey en Linux.
JavaScript. Rey en Linux
El sorteo
Recuerda que actualmente y hasta finales de noviembre de 2023, tienes la posibilidad de apuntarte en el grupo de Telegram de atareao con Linux al sorteo de cuatro Raspberry Pi. Recuerda que tienes que entrar en el tema Sorteo Raspberry y ejecutar el comando /participo
.
sorteabot
es un bot de Telegram, que he implementado en Python, y que estoy utilizando para realizar este sorteo. En un futuro vídeo en el canal de YouTube, explicaré con detalle como está implementado este bot, y como lo puedes utilizar para tus propios sorteos.
Ubucon 2008
Ya han pasado 5 años desde la Ubucon, y recuerdo la charla que di allí, como si fuera hoy mismo. En aquel momento contaba, sobre mi resistencia a migrar hacia GNOME Shell, y la gran ventaja que supuso esa migración.
A pesar de ello, para mi, que había puesto tantas esperanzas en la llegada masiva de desarrolladores a GNOME, ha sido un poco decepcionante. Esperaba que la adopción de JavaScript para el desarrollo de aplicaciones en Linux supondría una llegada masiva de desarrolladores a este entorno. Sin embargo, lamentablemente no ha sido así, hasta el momento, porque uno nunca pierde la esperanza.
¿Porque JavaScript es el rey en Linux?
No quiero quitar en ningún momento toda la importancia a C
, en el caso de GNOME, ni a C++
en el caso de Plasma. Sin embargo, la posibilidad de utilizar un lenguaje de programación tan ampliamente utilizado como es JavaScript para el desarrollo de aplicaciones en Linux, me parece algo realmente interesante. Y lo digo básicamente, por lo mismo que conté en la Ubucon, y he indicado anteriormente, la gran cantidad de desarrolladores que actualmente trabajan con JavaScript, tanto en el lado del frontend como en el lado del backend.
JavaScript en GNOME
Hace ya algo mas de cuatro años que publiqué un artículo titulado Ejecutar JavaScript en el terminal. Y no, no me refería a utilizar Node.js, sino directametne a utilizar GJS, que es el motor de renderizado de GNOME Shell. Así, escribir un script, es tan sencillo, como estas dos líneas de terminal,
#!/usr/bin/gjs
print("Hola mundo!")
Pero igual que esto, también es posible hacer una aplicación, o una ventana que te muestre ese hola mundo, tal y como te expliqué en el artículo mencionado anteriormente.
Esto me ha llevado a escribir diferentes artículos, así como un tutorial sobre el desarrollo de aplicaciones utilizando JavaScript, que puedes encontrar en Aplicaciones nativas en Linux con JavaScript.
JavaScript en KDE
En el lado de KDE, tengo que decirte que he utilizado mucho menos JavaScript. Si que, hice algunas cosas para una aplicación de Ubuntu Phone, que finalmente, quedó en nada. También hice algún que otro artículo, como Desarrollar una App para Ubuntu Phone. Esto es QML.
Aquí por ejemplo tienes toda la parte de los plasmoides, y no se con certeza si también existe la posibilidad de desarrollar aplicaciones. Esto lo desconozco.
Los tiling window manager
Este ha sido un reciente descubrimiento que me tiene locamente enamorado y que permite realizar aplicaciones y widgets, para tiling window manager. Y es precisamente, la razón, que me ha impulsado a hablar sobre JavaScript en Linux. Me parece una solución brutal, y te voy a dejar con la miel en los labios, porque le dedicaré un siguiente episodio del podcast.
¿Y porque no ha atraído a miles de desarrolladores?
La verdad es que partí del hecho que solo era necesario conocer el lenguaje de programación, pero eso fue un error. También es necesario conocer el framework con el que vas a desarrollar. Y esto es un importante obstáculo.
El problema del framework
Imagina que en mi caso, que venía de hacer las aplicaciones en Python, no me resultó tan sencillo como yo esperaba. Al final, supe adaptarme y conseguí hacer tanto aplicaciones como extensiones para GNOME Shell. Ya conocía el framework, pero había sus detalles.
Ahora que lo pienso fríamente, si no conoces el framework, la cosa se complica bastante. Pero no solo es este el problema.
Por otro lado, está la evolución permanente tanto de JavaScript, como del framework. En estos cinco años, algunas de las aplicaciones o extensiones que desarrollé inicialmente, tuve que modificarlas y adaptarlas a las distintas evoluciones del cambio.
El problema de las actualizaciones
Esto ha sido una queja constante, tanto por el lado de los usuarios como de los desarrolladores. Por parte de los usuarios, que veían que una aplicación, dejaba de funcionar de una versión de GNOME a otra. Pero también por parte de los desarrolladores, que nos hemos visto en la necesidad de actualizar una y otra vez nuestras aplicaciones. Pero estas actualizaciones, no son debidas a mejoras, sino simplemente adaptaciones para que continuaran funcionando de versión en versión. Esta constante evolución es fantástica, pero a los desarrolladores y a los usuarios nos agota.
El problema de los frameworks
Pero es que además no hay un solo framework, como has visto, hay varios framework, al menos para GNOME y Plasma. Esto es un infierno. Tienes que aprender varios framework, o simplemente decantarte por un entorno y si acaso, empaquetarlo en Flatpak o Snap. Una auténtica locura.
Pero… JavaScript el rey en Linux
Sin embargo, y a pesar de todo esto. Sigo pensando exactamente igual JavaScript se está convirtiendo en el rey en Linux. Y por supuesto me refiero a JavaScript como lenguaje de programación y a la parte de la interfaz gráfica.
Y lo sigo pensando por que cada vez me encuentro con mas aplicaciones en JavaScript. Y no solo esto, sino que también encuentro nuevos framework que incluso se abstraen del gestor de ventanas que estés utilizando.
Esto último, me tiene realmente emocionado, y es algo de lo que te hablaré en un próximo podcast, porque es realmente espectacular.
Más información,