NodeJS: Introducción a NodeJS

nodejs-logoEn este artículo vamos a ver una breve introducción a NodeJS (nombre simplificado de node.js), uno de los entornos de programación de moda en este último año y que está pegando realmente fuerte dentro del mundo del desarrollo de software debido a las grandes bondades que presenta.

NodeJS es un entorno de programación, basado en el lenguaje de programación Javascript, totalmente asíncrono, en la capa del servidor y corriendo sobre el motor V8, un motor de Javascript creado por Google. Dado el lenguaje de programación usado presenta una arquitectura basada en eventos. La principal característica de NodeJS es el enfoque o tipo de software al que va dirigido su uso aunque puede ser usado para otras muchas cosas más. Fue creado principalemten para el desarrollo de software de red (servidores web por ejemplo) altamente escalables, de baja latencia.

Presenta gran cantidad de módulos, tanto internos como externos, con los que puede interaccionar y gracias a los cuales se pueden crear gran variedad de aplicaciones, como Socket.IO, uno de mis favoritos, y usado para el desarrollo de aplicaciones en tiempo real. De este modo, el propio NodeJS incorpora algunos módulos básicos o fundamentales de gran utilidad para el uso de ficheros, ejecución de comandos del sistema, flujo de datos, red, etc… Los módulos Javascript se implementan siguiendo la especificación CommonJS y utilizando una variable de exportación para dar a estos scripts acceso a funciones y variables implementadas por los módulos.

Los módulos de terceros, como ya he comentado, sirven para extender o añadir un nivel de abstracción superior implementando varias utilidades middleware para utilizar en aplicaciones web. Algunos de los más usados y conocidos para el desarrollo de aplicaciones web son connect y express.

Node Package Manager (npm) es un gestor de módulos para facilitar su instalación y actualización así como la gestión de las dependencias. Su uso es bastante sencillo aunque lo veremos más a fondo en otro artículo dedicado especialmente a él.

De la wikipedia extraemos unos sencillos ejemplos sobre como arrancar un servidor HTTP y TCP usando NodeJS:

Versión de un hola mundo de un Servidor HTTP:

var http = require('http');

http.createServer(function (request, response) {
    response.writeHead(200, {'Content-Type': 'text/plain'});
    response.end('Hello World\n');
}).listen(8000);

console.log('Server running at http://127.0.0.1:8000/');

Otro ejemplo con un servidor TCP que escucha en el puerto 7000 y responde con cualquier cosa que se le envíe:

var net = require('net');

net.createServer(function (stream) {
    stream.write('hello\r\n');

    stream.on('end', function () {
        stream.end('goodbye\r\n');
    });

    stream.pipe(stream);
}).listen(7000);

Actualmente ya cuento con algunas aplicaciones desarrolladas (ejemplos básicos) en node.js y que iremos publicando y explicando en próximos artículos.

Espero haber despertado vuestro interés con esta gran tecnología.

Happy Minds!!

Share on FacebookTweet about this on TwitterShare on LinkedInShare on RedditShare on Google+Digg thisShare on TumblrPin on PinterestBuffer this pagePrint this pageEmail this to someone