Hoy en dia hay muchos lenguajes de programacion y con los tiempos actuales que se tiende a ir por el lado web, es muy dificil mantener una webapp porque hay muchos lenguajes que se manejan, por ejemplo esta el LAMP, que es Linux+Apache+MySQL+PHP, son muchos lenguajes verdad?. Para esto esta Node.JS.
Que es Node.JS
Node.JS es una plataforma que utiliza el motor javascript de chrome, basicamente lo que hace Node.JS es traer javascript al lado servidor, puede ser utilizado para crear desde una aplicacion web hasta complejos procesadores de archivos.
Historia
Node.JS fue creado por Ryan Dahl en el 2009 y esta apadrinado por Joyent, una empresa que en la actualidad realiza servicios empresariales basados en Node.JS.
Algunas empresas que utilizan Node.JS en produccion son:
- Ebay
- The New York Times
- Muchos mas en nodejs.org
Instalacion de Node.JS en Ubuntu
Ya hablado un poco de Node.JS, ahora vamos a instalarlo en Ubuntu.
Ubuntu viene con los repositorios de Node.JS, pero estan desactualizados, ya que la comunidad de Node.JS suele lanzar nuevas versiones en muy poco tiempo.
Para esto usaremos el repositorio de Chris Lea que se instala siguiendo los siguientes comandos en la terminal:
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
El primer comando añade el repositorio y el segundo hace un update de dependencias para instalarlo. Si al correr el primer comando te da un error, hay que correr el siguiente comando:
sudo apt-get install python-software-properties
Que instala el comando para añadir repositorios externos facilmente y ya habiendose instalado, se procede a correr los comandos anteriores.
Ahora se instala Node.JS
sudo apt-get install nodejs npm
Que instalara Node.JS y el manejador de paquetes de Node.JS NPM.
Para instalar en otras distros o sistemas operativos Aqui
NPM
NPM es el manejador de paquetes oficial de Node.JS, que se encarga de obtener dependencias de paquetes disponibles, para esto esta la pagina npmjs.org, que ahi puedes buscar de los miles de paquetes disponibles por la comunidad.
Node.JS y NPM utilizan un archivo llamado package.json que es la raiz de que dependencias se necesitan el el proyecto, esta es la especificacion del archivo.
Hello World en Node.JS
Ya instalado Node.JS, vamos a hacer un pequeño Hello World en un servidor web sencillo.
Vamos a crear un archivo llamado hello.js con el siguiente contenido:
var http = require('http'); // se llama a la dependencia http
http.createServer(function (req, res) { // se crea el servidor: req=request(solicitud), res=response(respuesta)
res.writeHead(200, {'Content-Type': 'text/plain'}); // se agrega un header para señalar que es texto
res.end('Hello World\n'); // se cierra la respuesta a la llamada enviando texto
}).listen(8888, '127.0.0.1'); // solo escucha solicitudes de localhost con el puerto 8888
console.log('Servidor en http://127.0.0.1:8888/');
Se corre en la terminal con el siguiente comando:
node hello.js
Y ve a la siguiente direccion http://localhost:8888/ y se vera lo siguiente:
En los siguientes posts veremos como crear un Blog simple con Node.JS en el lado servidor, MongoDB como base de datos y AngularJS en el lado navegador para asi crear una experiencia totalmente Javascript.
El repositorio del codigo visto en este post esta en Github