Node.js, como lo definen sus creadores, es “(…) una plataforma basada en la Chrome JavaScript Runtime para crear aplicaciones web de manera fácil, rápida y escalable. Node.js utiliza un modelo de no-bloqueo orientado a eventos, que lo hace ligero y eficiente, ideal para aplicaciones de data intensiva en tiempo real que se ejecutan a través de dispositivos distribuidos”.
“Express es un framework de aplicaciones web de Node.js mínimo y flexible, que proporciona un robusto conjunto de características para crear aplicaciones web de una o varias páginas, e híbridas”. Si alguna vez has utilizado Sinatra en ruby, encontrarás que express es bastante parecido. Sin embargo, no creas que express es para hacer aplicaciones simples y pequeñas, hay muchas cosas que puedes hacer con él, y como es javacript es muy flexible, puedes moldearlo a tu estilo como quieras.
Instalando Node.js
Instalar nodejs es extremadamente fácil. Solo hay que ir a http://nodejs.org/ y hacer click en el botón de instalar. El explorador descargará un instalador que debemos correr, seguir las instrucciones (siguiente, siguiente, siguiente) y listo.
Ahora si vamos al terminal (consola), podemos comprobar que tenemos node instalado.
$ node --version v0.10.16
Aquí podemos ver que yo tengo la versión 0.10.15 instalada.
NPM
NPM signifier Node Package Manager, es bastante similar a las gemas de Ruby, con npm instalamos los módulos y paquetes de jode que están disponibles en la web. Comprobemos nuestra instalación de NPM:
$ npm ---version 1.3.8
Yo tengo instalada la versión 1.3.8.
Instalando Express
Express es un módulo de jode, así que lo instalamos con npm:
$ sudo npm install -g express
-g para instalarlo globalmente (para todo el sistema).
Ahora comprobamos nuestra instalación:
$ express --verion 3.3.5
Y vemos que tengo instalada la versión 3.3.5
Generando nuestra primera aplicación
Primero vamos al directorio donde vamos a generar nuestra aplicación. Yo la voy a crear en el escritorio:
$ cd /Users/{nombre de usuario}/Desktop
Y escribimos el siguiente comando en la consola para generar nuestra primera aplicación en express:
$ express helloWorldExpress create : helloWorldExpress create : helloWorldExpress/package.json create : helloWorldExpress/app.js create : helloWorldExpress/public create : helloWorldExpress/public/images create : helloWorldExpress/public/javascripts create : helloWorldExpress/public/stylesheets create : helloWorldExpress/public/stylesheets/style.css create : helloWorldExpress/routes create : helloWorldExpress/routes/index.js create : helloWorldExpress/routes/user.js create : helloWorldExpress/views create : helloWorldExpress/views/layout.jade create : helloWorldExpress/views/index.jade install dependencies: $ cd helloWorldExpress & npm install run the app: $ node app
Y observamos como enseguida se generan un conjunto de archivos y carpetas.
Ahora que tenemos este directorio generado, nos situamos en su contenido e instalamos las dependencias del proyecto.
$ cd helloWorldExpress/ $ npm install
Esto instalará las librerías (módulos) y las dependencias de estas, necesarias para correr nuestro proyecto.
Ahora si vamos al directorio generado (helloWorldExpress), vamos a encontrar una serie de archivos y directorios dentro.
app.js node_modules package.json public routes views
- Tenemos el archivo app.js, que es donde inicia toda nuestra aplicación. Ya hablaremos de este archivo a lo largo de esta serie.
- El directorio node_modules fue creado cuando corrimos el comando
npm install
. Este contiene las dependencias de nuestro proyecto. - package.json contiene un registro de las dependencias y algunas estadísticas de nuestra aplicación.
- Existen otros directorios como public, routes y views con los cuales deberías estar familiarizado si has hecho aplicaciones web con anterioridad, sin embargo estos no son necesarios para tener una app en express, son opcionales.
Vamos a correr esta aplicación.
Corriendo la aplicación
Vamos a la consola y escribimos:
$ node app.js Express server listening on port 3000
Y node arranca el servidor en el puerto 3000.
Si abrimos el explorador de nuestra preferencia en la pagina http://localhost:3000 vamos a recibir una página de bienvenida a express.
Si volvemos a la consola podemos apreciar como nos indica las rutas que fueron solicitadas para mostrar esta página.
GET / 200 225ms - 170b GET /stylesheets/style.css 200 6ms - 110b
Conclusión
En este capitulo hemos aprendido como instalar Node.js y Express, y como correr nuestra primera aplicación web utilizando el framework.
Con esto marcamos el inicio de esta serie que te enseñará como programar una de las plataformas más veloces de la web.
Hasta la próxima.