Jose Zamudio


Full Stack Developer | Coding, Thoughts, stories and ideas.


Simple Aplicación Web - Parte I - Node.js

Pido disculpas por errores gramáticos, llevo muchos años viviendo en USA y todo lo que aprendi fue en ingles.

ENGLISH VERSION HERE

Node.je

En la próxima serie de artículos vamos a construir una simple aplicación usando Node.js, Hapi.js, Angular.js y MongoDB.

Que es Node.js?

La respuesta rápida: Node es Javascript desde el servidor

Node.js utiliza el motor V8, que es el motor que Google utiliza en Google Chrome. Node.js permite crear aplicaciones rápido y fáciles de escalar. Node.js utiliza un modelo de manejado por eventos que es ligero y eficiente. Node.js puede llegar a ser hasta 93% mas rápido que PHP!

Node.js brilla en aplicaciones en tiempo real donde el cliente y el servidor pueden iniciar la comunicación y intercambiar información. Esto es una gran diferencia al típico sistema web donde solo el cliente puede iniciar la comunicación.

Node.js® es una plataforma construida con el sistema de ejecución Javascript de Google Chrome para construir y escalar aplicaciones rápidamente. Node utiliza un modelo de eventos sin bloqueo ligero y eficiente, perfecto para uso de información intenso en tiempo real.

Crear una aplicación utilizando Node.js significa que no podremos utilizar un sistema de hospedaje web normal. Para esto, utilizaremos un servicio que corra el motor V8 tal como Heroku (utilizaremos Heroku para distribuir nuestra aplicación al final) o Digital Ocean.

Instalar Node.js

Instalaremos Node.js en un sistema Mac OS, al final de este articulo incluiré links a guías para instalar Node en Windows así como en Linux

Instalar Node.js es facil y sencillo. Simplemente visitamos la pagina de descargas de Node y descargamos la ultima version (al momento de escribir este articulo la ultima version estable es v0.12.0). Ya que Node.js se actualiza constantemente y es un proyecto activo, lo mejor es descargarlo siempre de la pagina oficial.

Node.js installer

Después de instalar el .pkg y seguir las instrucciones nos aparecerá un mensaje para asegurarnos de que /usr/local/bin este en tus rutas. Para verificar que este en nuestras rutas escribiremos el siguiente comando en nuestra Terminal:

echo $PATH  

Precaución! Si la ruta no esta incluida en el resultado en Terminal, hay que modificar el .bash_profile o el .bashrc e incluirlos escribiendo lo siguiente:

export PATH=/user/local/bin  

Para verificar que Node este instalado en tu sistema, en Terminal escribe node y abrirá el modo Node en terminal

Puedes probar el modo Node escribiendo los siguientes comandos:

$ node \\ abrimos el modo Node
> var x = 4
undefined  
> x
4  

En la primera linea abrimos el modo Node. En la linea 2 asignamos 4 a la variable ‘x’. La linea 3 es un resultado por defecto de node, no te preocupes. En la linea 4 le decimos a Node que nos muestre el valor de ‘x’, el cual nos muestra en la linea 5.

Ahi lo tienes! Haz instalado Node.js y estas listo para crear paginas web utilizando uno de los sistemas mas utilizados en el mundo!

Usar Node.js

Para la primera parte de esta serie vamos a crear una sencilla aplicación de ”Hello, World!”. Ya que empecemos a hablar de las otras partes del stack crearemos algo poco mas complejo y mucho mas interesante!

Para este ejemplo vamos a necesitar crear un archivo en el folder que desees y llamarlo hello-world.js. Dentro del archivo Javascript que acabamos de crear incluiremos el siguiente código:

var http = require(‘http’);  
http.createServer(function (req, res) {  
 res.writeHead(200, {‘Content-Type’: ‘text/plain’});
 res.end(‘Hello, World!’);
}).listen(3333);

console.log(‘Server running at http://localhost:3333/');  

La primera linea solicitamos el modulo http que viene incluido con Node.js y nos permite crear un servidor local en nuestra computadora.
En la linea 3 creamos el servidor usando el método createServer del modulo http y pasamos una función que tomara los parametros request (req) y response (res).
La linea 4 manda un solicitud al servidor, no hay que preocuparse mucho por esta linea.
En la linea 5 terminamos la solicitud con el texto Hello, World!.
En la linea 6 especificamos el puerto que usaremos para el servidor.
La ultima linea registrara en la terminal el texto dentro del paréntesis.

*Un puerto es como una extension de un numero telefónico. Localhost es la linea principal y el puerto es la extension de un usuario. Hay mas de 60,000 puertos disponibles para usarse.

En la terminal corre el comando node hello-world.js. (Asegurate de estar dentro del folder donde creaste el archivo hello-world.js)

El resultado en el navegador

En tu navegador ve a http://localhost:3333 y veras que haz creado una pagina web usando Node.js!

Si te perdiste en el camino, puedes checar o descargar el código de aquí

Esta fue la PARTE I de una serie de 4 o 5 artículos en donde construiremos una aplicación completa usando el ME(H)AN Stack (usaremos Hapi.js en lugar de Express.js). Espero les haya agradado el primer articulo de esta serie!

Sígueme en:
Twitter: @soyzamudio
LinkedIn: Jose Zamudio
Github: /Soyzamudio
Web: www.josezamudio.me

Recursos:
Instalar Node.js en Windows y Linux