Estos días estaré experimentando con Nodejs y aprocecharé para escribir un poco sobre mi aprendizaje en el blog. Nodejs es primo-hermano de herramientas como Twisted o Tornado, pero escrito mayoritariamente en Javascript y no en Python, y que aprovecha toda la potencia de la máquina virtual V8 que adquirió Google para su navegador Chrome, que no es moco de pavo
. Empecemos pues!
Instalación de Nodejs
En todo momento presupongo que estamos trabajando sobre Linux y que tenemos instaladas ciertas herramientas básicas de desarrollo: compiladores, make, python, y la biblioteca libssl-dev. En caso de que nos falte algo no creo que suponga ningún impedimento, normalmente el sistema nos indicará qué nos falta y la instalación por lo general se podrá hacer a través de los gestores de paquetes más usados: apt-get, aptitude, yum y alguno que otro más.
En primer lugar descargaremos el paquete de código fuente estable (a día de hoy es la versión 0.4.12, del día 15 de Septiembre de 2011), lo descomprimimos y entramos desde la línea de comandos en el nuevo directorio creado tras la descompresión. Allí debemos ejecutar los siguientes comandos:
1 2 3 | ./configure make sudo make install |
¿Ya está? No, casi... Nos falta NPM, el gestor de paquetes de Nodejs que nos facilitará la vida (aunque no es imprescindible por el momento).
Instalación de NPM
Para instalar NPM nos "arriesgaremos" a usar la versión disponible en su repositorio Git oficial... y es que no hay ninguna versión "estable" por el momento. Así que, evidentemente, tendremos que tener instalado git en nuestro sistema.
Lo primero que tenemos que hacer es teclear lo siguiente en la línea de comandos:
1 | git clone git://github.com/isaacs/npm.git |
Seguidamente debemos entrar en el nuevo directorio creado y ejecutar la siguiente orden:
1 | sudo make install |
Como podemos ver el proceso no tiene nada de complicado
, puede que fuera preferible usar los acostumbrados gestores de paquetes... pero la comodidad que nos aportan tendría que pagarse con una falta importante de actualización, y más teniendo en cuenta el temprano estado de desarrollo de estas piezas de software y la cantidad de cambios que se suceden constantemente en ellas.
Bien, pasemos a la acción, vayamos a crear nuestra primera aplicación basada en Nodejs! El código es bastante simple y se entiende perfectamente, aunque en cierto modo puede asustar un poco porque un simple "Hello World!" es algo más complicadillo que si lo hiciéramos directamente en PHP. Podemos llamar al fichero ejemplo.js .
1 2 3 4 5 6 7 8 | var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World\n'); }).listen(1337, "127.0.0.1"); console.log('Server running at http://127.0.0.1:1337/'); |
Como podemos observar el código debe tener en cuenta incluso las cabeceras HTTP, pero no hay que preocuparse, en artículos posteriores veremos como gracias a un gran conjunto de librerías y microframeworks el trabajo con Nodejs puede llegar a ser incluso divertido (y nos serviremos de NPM para cargar esas librerías de forma sencilla). Por cierto, para ver el resultado en el navegador deberéis visitar la dirección http://127.0.0.1:1337/ tal y como indica el propio ejemplo a través de la línea de comandos.
Como segundo avance de lo que veremos en los próximos artículos, entre otras cosas revisitaremos el primer ejemplo mencionado, pero esta vez escrito en Coffeescript, un lenguaje similar a Python (y por lo tanto mucho más agradable que Javascript) que generalmente se compila a Javascript.
Gracias por el aporte espero que continúes la serie de primeros pasos con nodejs
Dos detalles para aquellos que no tienen compiladores en su sistema, deben instalar uno sino dará error el configure.
ejemplo: $ sudo apt-get install g++
Si en el sistema que se instala no tiene soporte ssh instalado también se para la configuración. Es posible hacer que no se use ssh haciendo el configure así: ./configure --without-ssl
Aunque lo mas recomendable es instalar los paquetes ssh
Un saludo
En caso de que npm de problemas de instalación aquí están las instrucciones completas http://npmjs.org/doc/README.html
en mi caso tuve que hacer
curl http://npmjs.org/install.sh | sudo sh
para una instalación sin errores
un saludo de nuevo
Gracias por los aportes Jose
, me planteé comentar lo de instalar npm con el comando curl pero no quería alargar el texto y no preví los problemas que puede ocasionar el otro modo.
Por cierto, parece que tendré que mejorar el estilo de las cajas de comentarios de este blog jajajaja, se ven un poco cochambrosas U_U .
Saludos!