Probando Node.js

Según la página oficial de Node.js:

Node.js® is a JavaScript runtime built on Chrome’s V8 JavaScript engine. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient. Node.js’ package ecosystem, npm, is the largest ecosystem of open source libraries in the world.

Características de Node.js

De manera resumida y rebatiendo algunas de las amuniciones que habitualmente hacemos los legos en la materia:

  1. Node.js es una entorno basado en lenguaje JavaScript.
  2. Al contrario que otros muchos entornos y librerías que viven en nuestros navegadores, Node.js se ejecuta en servidor.
  3. Incluye un gestor de paquetes propio llamado NPM (Node.js Package Manager), al igual que otros gestores de paquetes se encarga de gestionar automáticamente dependencias de otros módulos y de la compatibilidad de versiones.
  4. Es asíncrono y orientado a eventos, cada vez que se hace una llamada a la API no es espera al resultado, sino que se continua a la siguiente instrucción, cuando la llamada termina esta genera un evento.

Instalación

Lo primero será descargar el instalador de Node.js desde la web oficial: https://nodejs.org, descargamos la versión estable (en mi caso fue la v4.3.3).

Tras una sencilla instalación abriremos un terminal y comprobamos que la instalación haya ido bien:

> node --version
v4.3.3

Esto mostrará la versión instalada.

Algunas pruebas

Crearemos un sencillo programa (hello.js) que acepte conexiones HTTP y muestre el típico mensaje de hola mundo:

const http = require('http');

const hostname = '127.0.0.1';
const port = 3000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World\n');
});

server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});

Ejecutamos el programa con:

> node hello.js
Server is running at http://127.0.0.1:3000/

Abrimos la URL en un navegador y comprobamos que se muestra el mensaje de saludo.

Más información

A continuación os dejo algunas referencias adicionales de documentación:

Deja un comentario