Node.js – Nuestro primer proyecto

Ya hemos hablado bastante sobre Node.Js, ha llegado el momento de empezar a escribir código,como buenos programadores que somos, y para ello, empezaremos eligiendo un IDE (para nosotros Nodeclipse) y empezamos

Seleccionando el IDE

Sobre este tema, hay multitud de artículos en la web; os puedo recomendar una comparación muy completa que nos facilita la wikipedia, o algunos artículos sobre el tema, en el que se mezclan IDES gratuitos y de pago, libres y propietarios, algunos locales y otros web,  cuyos enlaces os dejo por si quereis leerlo:

Creo que con esa lectura os podéis hacer una idea muy concreta de lo que hay.

Nosotros hemos simplificado la seleccion, porque queríamos un IDE que sirviera para muchos lenguajes, (muchos de nosotros estamos utilizando Java, PHP, …) y de entre los que nos ofrecían eso gratuitamente y libres estaba Eclipse que habíamos utilizado en otros desarrollos, con lo cual la elección fue sencilla.

Como queríamos un IDE que se aproximara todo lo que fuera posible a Node.js, descargamos Nodeclipse. Se trata de una version de Eclipse con un conjunto de plugins que lo hacen cómodo para trabajar con Javascript y NodeJs.

Quiero también comentaros que en las pruebas que haga desde windows, voy a instalar una adaptación de Eclipse en donde han intentado optimizar la parte de Java y Javascript y que se llama Enide-Studio, y podéis descargarlos desde la web. Si queréis probarlo, jugamos con la ventaja que no requiere instalación, por lo que podéis hacerlo tranquilamente

Probando NodeJs

Para empezar a conocer las posibilidades de NodeJs, he pecado de poco imaginativo, y os voy a presentar el mismo código que vais a encontrar en cualquiera de los blogs que hablan de este Framework

Si, estáis en lo cierto, vamos a crear un pequeño servidor que sólo sabe contestar el consabido «Hola Mundo»

Sin embargo, que la sencillez no os despiste. En esas pocas instrucciones estamos viendo muchas de las características de NodeJs, y de cómo trabaja.

Podemos abrir Eclipse e iniciar el dialogo de Nuevo->Proyecto

NodeJs primer proyecto en NodeEclipse

A mi ya me aparece «proyecto Node.js» directamente, pero si no es así, seleccionais «Otros»

NodeEclipse. Creando proyecto Node

y en la ventana que aparece, escogemos «Node.js Project», ya tendremos tiempo de hacer proyectos con Express mas adelante y pulsamos «Next»

En la siguiente pantalla

HolaMundo NodeJs

Le hemos indicado el nombre, e incluso, para no cansarnos, he marcado el template de «Hello World» para que asi me lo cree todo, y yo me pueda quedar contemplando su trabajo.

El resultado de esto es una carpeta y algunos ficheros que iremos viendo, y el que nos importa ahora que es «hello-world-server.js». Podéis hacer un doble click encima, para abrirlo, y ver el código que contiene

Nodejs. codigo de hola mundo

Si lo miramos mas atentamente vemos que en linea 1 igualamos una variable al resultado de la función «require(‘http’)». Se trata de importar uno de los objetos disponibles en Node: el objeto «http» que dispone de funciones para gestionar comunicaciones, y que gracias a esta linea, queda asignado a la variable «http»

En la linea 2 utilizamos el método «createServer» del objeto «http» para crear un servidor indicandole la rutina de callback que deberá utilizar cuando llegue algo, y en la linea 6 imprimimos en consola un mensaje para comprobar que esta funcionando.

Como reconozco que quizás es demasiado pronto para empezaros a mostrar todo de golpe, podríamos reescribir ese código de esta manera:

Refactorizacion de HolaMundo en NodeJs

Mas claro, ¿verdad?:

  • En linea 2 creo el servidor y le indico la función que debe llamar cada vez que reciba algo
  • En la linea 3 le digo que se ponga a «escuchar» el puerto 1337
  • En la linea 4 envio un mensaje a la consola. Cuando lo hagais funcionar, vereis que el mensaje aparece al momento; eso se debe a que las ordenes que hemos dado solo han asignado funciones al evento, y el programa a continuado su ejecucuion.
  • Las lineas 6 a 8 definen una función. Cada vez que se realice una conexión al puerto 1337, NodeJs invocara a esta función pasandole los parametros de Request y response (que ya veremos) y esta función utiliza precisamente métodos del objeto «response» para devolver al navegador el status http (200), y el tipo de contenido de la respuesta; y un texto («Hola Mundo)

Vamos a hacer correr nuestro servidor; para ello, nos podemos colocar con el cursor encima de «hello-world-server.js» y utilizar el botón derecho de ratón:

Janzando una aplicacion NodeJs

En el menú emergente, podemos seleccionar «Run As» -> «Node Application» y hacer clic sobre este menú.

Veréis que la única respuesta es que en vuestro panel de consola, veis aparecer el mensaje previsto en la linea 4.

Mensaje inicio Hola Mundo en NodeJs

Pero lo mas interesante es cuando abrais el navegador y pongais en vuestra barra de direcciones el valor

http://127.0.0.1:1337

Respuesta de nodeJs

Efectivamente, el servidor que habéis creado, ha recibido la llamada en el puerto que le habeis indicado (1337) y ha llamado a la función «handler» para que os generase la respuesta.

Naturalmente que no pensamos en utilizar NodeJs para desarrollar un servidor web convencional estilo Apache…aunque tendría importantes ventajas en velocidad y ahorro de memoria al no tener que crear hebras para escuchar peticiones….pero su rapidez y flexibilidad nos abre un nuevo horizonte acerca de como enfrentarnos a la gestión de los servidores.

En nuestro siguiente articulo, iremos potenciando nuestro servidor, y de esa forma iremos conociendo mejor NodeJs

Acerca de Miguel Garcia

Programador, Desarrollador web, Formador en distintas areas de informatica y director de equipos multidisciplinares.
Esta entrada fue publicada en Formacion, Javascript, NodeJs y etiquetada . Guarda el enlace permanente.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.