¿Os acordáis cuando Javascript estaba a punto de morir? ¿Os acordáis cuando solo servía para validar algunos formularios e incordiarnos? ¿Recordáis aquellos tiempos en los que todos odiábamos Javascript?
Javascript resucitó hace ya unos años. La llegada de los frameworks más conocidos como jQuery, YahooUI o Mootools y la popularización de AJAX le dieron una nueva vida. Las interfaces cada vez más complejas necesitaban herramientas cada vez más poderosas. Últimamente se unen a la familia AngularJS o Backbone.js. Aunque todos ellos son sólo una muestra del gran repertorio existente.
Pero Javascript no sólo volvió a la vida. Se convirtió en un superhéroe, un Superman, incluida su doble vida.
Por una parte creció más que nunca en los navegadores. Javascript junto con las novedades que aporta Html5 han revolucionado la web consiguiendo interfaces sin Flash que antes parecían imposibles.
Por otra parte inició una vida en paralelo, lejos de los navegadores, allá donde empezó todo, en los servidores. Hace tiempo apareció Node.js. Una plataforma que corre sobre el motor de Javascript de Google Chrome específicamente pensada para crear aplicaciones escalables.
El auge de las bases de datos NoSQL, que en muchas ocasiones también utilizan Javascript de forma interna, hace que usar Node.js en el servidor sea una gran alternativa, no sólo por sus virtudes, sino para poder utilizar el mismo lenguaje de programación en diferentes niveles de la aplicación (navegador, servidor y base de datos).
Comenzar en Node.js no es muy complicado (conocerlo a fondo es otro cantar). Y para muestra un botón, un Hola Mundo para que os pique el gusanillo.
####Paso 1: Instalamos Node.js
Nos vamos a la web de Node.js, nos bajamos el instalador que corresponda a nuestro sistema operativo y lo instalamos.
####Paso 2: Creamos nuestro servidor
Sólo vamos a hacer un «Hola Mundo» así que no esperéis mucha complejidad. Creamos un archivo server.js cuyo contenido será:
var http = require('http'); var ip_host = '127.0.0.1'; var port = 8888; var server = http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hola nuevo mundo!'); }); server.listen(port, ip_host); console.log( 'Server running at http://' + ip_host + ':' + port + '/');
Con require(‘http’) importamos el módulo http, que es parte de Node.js. Luego, con createServer, creamos un servidor que recibe por parámetro la función que manejará nuestras peticiones. Esta función recibe 2 parámetros: req que contiene información sobre la petición realizada y res que será la respuesta devuelta por el servidor.
Esta función escribe las cabeceras de la respuesta con writeHead e incluye contenido y da la respuesta por terminada (que será cuando se devuelva al navegador) con end. server.listen pondrá el servidor a escuchar en la ip y puerto proporcionados.
####Paso 3: ejecuta y prueba
Para ejecutar el archivo nos vamos a una línea de comandos y ejecutamos:
%> node server.js
A continuación nos vamos a nuestro navegador favorito y visitamos, en este caso, http://127.0.0.1:8888/. Deberíamos tener un «Hola nuevo mundo» por respuesta. ¡Fin!
Espero que lo disfrutéis.