Mi primera aplicación con Express.js (Parte I)


En el desarrollo de software, un framework es una estructura conceptual y tecnológica de soporte definido, normalmente con artefactos o módulos de software concretos, que puede servir de base para la organización y desarrollo de software. Típicamente, puede incluir soporte de programas, bibliotecas, y un lenguaje interpretado, entre otras herramientas, para así ayudar a desarrollar y unir los diferentes componentes de un proyecto.

Para el desarrollo con Node.js existen una gran variedad de frameworks, entre los más utilizados encontramos a Sails js, que es un excelente framework que facilita el desarrollo personalizado de aplicaciones modernas en Node.js, también es útil para la construcción de gráficos, cuadros de mando y juegos, otros de los más utilizados son Total.js y Partial JS, otro gran framework para Node.js que ayuda a crear páginas y aplicaciones web utilizando la arquitectura MVC.

Por último me gustaría mencionar a Express.js, este es el framework de desarrollo web más popular para Node.js a través de Internet y entre los desarrolladores web. Usando un robusto conjunto de funcionalidades, los desarrolladores pueden crear aplicaciones web de una, varias páginas o híbridas.

Página oficial del framework Sail js

Fig1: Página oficial del framework Sail js

Página oficial del framework Total.js

Fig2: Página oficial del framework Total.js

Página oficial del framework Partial.js

Fig3: 3 Página oficial del framework Partial.js

En esta ocasión me gustaría referirme en particular a Express.js, y para ello les propongo que desarrollemos una sencilla aplicación que nos permita adentrarnos en el uso de este framework.

Página oficial del framework Express.js

Fig4: Página oficial del framework Express.js

Express.js está basado en Connect, que es un framework extensible de manejo de servidores HTTP, el cual provee plugins de alto rendimiento conocidos como middleware. Middleware es un software que asiste a una aplicación para interactuar o comunicarse con otras aplicaciones, software, redes, hardware y/o sistemas operativos.

Instalar Express.js

Vamos a instalar Express.js de manera global en nuestro sistema, para ello escribimos en la terminal el siguiente comando:

sudo npm install -g express
Instalación de Express.js

Fig5: Instalación de Express.js

La aplicación

Con Express.js podremos crear una aplicación rápidamente y ejecutarla al momento. Haremos esto escribiendo en la terminal:

express node_app

Con este comando lo que hacemos es crear una carpeta para nuestro proyecto llamada node_app, y dentro de esta la estructura de una aplicación con Express.js, tal como se muestra en la terminal.

Creando la estructura del proyecto

Fig6: Creando la estructura del proyecto

Luego de esto instalamos las dependencias con el comando npm install y desde ese momento podemos ejecutar la aplicación con el comando node app.js. Luego de este último, podemos ir al navegador web y entrar a la url http://localhost:3000/, con lo cual veríamos:

Aplicación en ejecución

Fig7: Aplicación en ejecución

Como resultado, tenemos nuestra primera aplicación desarrollada con Express.js en ejecución, lista para ser extendida y adaptada a nuestras necesidades concretas.

Conclusiones

Hasta aquí hemos podido observar que con el uso de frameworks, en particular Express.js, se nos facilita de forma significativa el trabajo al desarrollar aplicaciones con Node.js, además nos estructura el proyecto de forma ordenada y lógica y nos ofrece un conjunto de herramientas para acelerar y simplificar el proceso de desarrollo, tales como el ruteo, la gestión de plantillas, entre otras muchas que estaremos viendo en artículos posteriores.

Espero, como siempre les digo, que el artículo de hoy les haya resultado interesante y útil. Happy Coding!!!

  • chelo tavano

    tuve ciertos problemas con tus pasos, afortunadamente no contribuyeron mayor problema.

    1.- para la instalación de express (OS X node v 0.12.0) no me bastó con el comando:

    $ sudo npm install -g express

    luego de ejecutarlo, no me entregaba errores si no todo lo contrario. pero no bastaba con eso, ya que al hacer

    $ express -h

    el resultado era nulo, me arrojaba que el comando express no se encontraba por ningún lado. Bucando en StackOverflow di con el siguiente comando:

    $ sudo npm install -g express-generator

    este comando arregló por competo todo.

    2.- al hacer correr la aplicación con

    $ node app.js

    sucedía lo mismo que en el punto anterior, no arrojaba errores pero en ningún momento me decía que el servidor se encontraba escuchando desde el puerto 3000; a la hora de ingresar al browser y verificar el localhost, se pueden imaginar, no existía nada, ninguna aplicación corriendo ni mucho menos.

    Para arreglarlo es super simple: Dentro de la carpeta ./bin se encuentra el directorio /www , el cual es el responsable de hacer correr las aplicaciones que creemos. De todas formas esto puede cambiar según la versión de node y la versión del framework que estemos usando(en este caso: Express.js). para ver donde se encuentra la ruta se debe hacer lo siguiente:

    $ npm start

    este mensaje puede arrojar un mensaje como este

    > node_app@0.0.0 start /Users/admin/Projects/node projects/node_app
    > node ./bin/www
    GET / 304 231.328 ms – –
    GET /stylesheets/style.css 304 9.151 ms – –

    en la segunda línea nos die que para hacer correr la aplicación se debío ejecutar el comando: $ node ./bin/www
    el cual es el mismo que les había dado antes.

    De todas formas muchas gracias, seguiré con la parte 2 😀