Como instalar Node.js y escribir primeros programas
Jan 11, 2011 | Español | By Crysfel | 13 CommentsLa semana pasada mostré como compilar el V8 en tu propio ordenador o computadora, te recomiendo hacerlo para poder instalar Node.JS sin problemas, el día de hoy mostraré como instalar Node.js y además como iniciar a escribir algunos programas sencillos.
La semana pasada mostré como compilar el V8 en tu propio ordenador o computadora, te recomiendo hacerlo para poder instalar Node.JS sin problemas, el día de hoy mostraré como instalar Node.js y además como iniciar a escribir algunos programas sencillos.
Acerca de Node.js
El objetivo de Node.js es proveer una manera sencilla para desarrollar aplicaciones escalables de alto rendimiento, ya que Node no funciona como la mayoría de los servidores tradicionales, Node no crea hilos para cada petición o cliente sino que usa un sistema de “callbacks”. Para conocer más al respecto recomiendo ir al sitio oficial y leer la documentación, también les recomiendo ver el video donde Ryan Dahl da una introducción a Node.js.
Pre requisitos
Para poder compilar el código necesitaremos las siguientes herramientas, si seguiste el tutorial de la semana pasada seguramente ya las tendrás instaladas:
- Python 2.4 o superior
- V8 – El engine de JavaScript (Viene con la distribución que descargaremos adelante)
Otra cosa importante es que Node.js se puede instalar sin problemas en Linux, MacOS y Solaris, pero también puede ser instalado en Windows utilizando CygWin, FreeBSD y OpenBSD. En esta ocasión instalaré Node en un MacOS, pero los pasos para instalarlo en Linux son los mismos.
Descargar una versión estable
Para descargar la última versión estable lo podemos hacer desde la página oficial, al día de hoy la versión que descargaré es la 0.2.6.
Compilar Node.js
Compilar Node es muy sencillo, solamente se requiere ejecutar los siguientes comandos dentro del directorio que has descargado:
$ ./configure $ make $ make install
Al ejecutar esos comandos debería darte un mensaje de éxito y ahora estás listo para iniciar a escribir tus primeros programas.
Primeros programas
Voy a mostrar algunos programas muy sencillos, primero escribiré el famoso “Hola mundo” para no perder la costumbre.
var sys = require("sys");
sys.puts("Hello world!");
console.log("Hi again!!");
Guardamos ese programa en un archivo llamado hello.js, para ejecutarlo ejecutamos el siguiente comando:
$ node hello.js
Con eso podremos ver el mensaje escrito en la consola.
Ahora escribiré un programa que solicite mi nombre y me de la bienvenida, con esto veremos el concepto de callbacks al cual estamos acostumbrados al utilizar ExtJS.
var sys = require("sys");
sys.puts("What's your name?");
var stdin = process.openStdin();
stdin.on("data",function(buffer){
console.log("Hi "+buffer.toString()+", welcome to Node.js!");
process.exit(); //fin del programa
});
console.log("last line of code!");
En este programa vemos algo muy interesante en la manera como funciona Node, y es que debemos entender que Node se ejecuta de manera asíncrona, esto queda demostrado cuando abrimos la entrada de texto desde la consola no se queda bloqueado en esa linea hasta que el usuario entre una secuencia de caracteres, lo que hace es continuar ejecutando el código siguiente agregando un listener e imprimiendo la última línea del programa, cuando el usuario introduce algún texto se ejecuta el callback e imprime el mensaje de bienvenida y termina el programa.
El último ejemplo que mostraré es como crear un servidor web que escuche al puerto 8080 y responda las peticiones con un mensaje.
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(8080);
console.log('Server listen to the port 8080');
Ejecutas el archivo que contiene el código y luego en tu navegador favorito abres la url “http://localhost:8080″ y podrás ver la respuesta del servidor. Es importante mencionar que a este punto no tenemos un sistema de ruteamiento, ni sesiones, ni podemos servir archivos estáticos (html, js, images, etc…), este servidor que escribimos es muy primitivo pero es el punto de entrada.
Conclusiones
Node.js es una herramienta muy poderosa, actualmente existen varios proyectos al rededor de Node que nos permiten contar con una base de datos, manejo de sesiones, etc. En mi opinión Node.js es el futuro de la web ya que nos permite crear aplicaciones en tiempo real de manera muy sencilla, en futuros tutoriales mostraré como usar los WebSockets para comenzar a crear aplicaciones realmente espectaculares.
Si tienes alguna duda puedes registrate en el foro, la comunidad esta creciendo además tenemos planeado realiza un proyecto open source donde podamos aprender y participar todos.





Commercial ExtJs and Sencha Touch Themes


increible