Blog

ExtJS and Sencha Touch Themes and Templates

Como instalar Node.js y escribir primeros programas

Jan 11, 2011 | Español | By | 13 Comments

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.

Como instalar Node.js y escribir primeros programas
Author: Crysfel

I'm a software developer with 6+ years of experience, when I'm not developing software I may be writing a tutorial, you can follow me on twitter

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:

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.

13 Responses to “Como instalar Node.js y escribir primeros programas”

  • tierrarara Jan 11, 2011

    increible :D

  • Juan Jan 16, 2011

    ummm Realmente no me queda claro que es Node.js, he investigado e internet pero aun no aterrizo, podrias explicarlo con tus propias palabras que es node.js y que diferencia hay con apache o con javascript? saludos y gracias.

    • Crysfel Jan 18, 2011

      En cortas palabras Node.JS es un V8 con muchas más API’s para hacer operaciones IO, acceso a disco, Sockets, etc… podemos escribir un Servidor Web o simplemente programas que se ejecuten con JavaScript del lado del servidor o en una terminal.

  • isola009 Jan 20, 2011

    Muy bueno, sí señor. ¿Para cuándo el tutorial de WebSockets?

  • Mlayns Mar 05, 2011

    muy Interesante e importante….
    Saludos

  • Mlayns Mar 20, 2011

    http://net.tutsplus.com/tutorials/javascript-ajax/learning-serverside-javascript-with-node-js/
    ..aqui hay unos ejercicios muy interesantes tambien…
    (ademas de la Wiki de Node.js)
    Saludos

  • Julian Lasso Apr 04, 2011

    Se puede decir que Node.js es como decir un C pero en JavaScript para poder trabajar fuera del navegador?

  • arleyb Apr 07, 2011

    Excelente articulo, por estos días he estado mirando varia información sobre Node.Js, Websockets, Comet y Reverse Ajax, tanto ejemplos como documentación y resultados de rendimiento para estas tecnologías. La idea de todo esto es poder implementar un chat basado en Node.Js integrado con ExtJs donde el servidor sea quién envíe las respuestas al cliente cuando ocurra un evento y no al contrario como normalmente lo haríamos con Ajax. Me gustaría saber si se publicarán más tutoriales sobre este tema o si alguien está interesado en conformar un grupo de trabajo para llevar a cabo esta idea. Saludos!!

  • oscar Sep 21, 2011

    Oye y cuando en windows de eso casi no hay nada

  • Walter Sep 25, 2011

    Si ejecuta codigo del lado del servidor, ¡como se instala en un servidor web (hosting)?

  • DevCH Oct 24, 2011

    Ya lo instale en Mac OSX, hice pruebas y todo bien, pero reinicié el server y no arrancó, como lo arranco de nuevo.

  • yoel Oct 27, 2011

    excelente, gracias

  • Juan Feb 06, 2012

    Yo tambien quiero aprender y dar mi aporte a la comunidad

Leave a Reply







Updates

RSS

Subscribe to our feeds to receive updates of our newest posts and free tutorials.

Site search

Maybe we have what you need, would you like to search first?

Donations

Would you buy me a cup of coffee? I am sharing my knowledge and time with you, help this project grow. Thank you!