Express (Parte I) — Conceptos básicos y un hello world

Mauricio Garcia
5 min readApr 8, 2022

--

Temario

  • Introducción
  • ¿Qué es Express?
  • Hello world con Node.js
  • Hello world con Node.js y Express

i. Introducción

En esta story vamos a comprender y aprender lo esencial de Express[ref], PERO, sin ningún generador, es decir, solo vamos a ocupar NodeJs y Express.

Antes de darle de lleno al código, primero veamos un poco de teoría…

ii. — ¿Qué es Express?

Fast, unopinionated, minimalist web framework for Node.js[ref]

Su definición es bastante sencilla, aunque realmente dice mucho, entonces vamos a desglosarlo:

  • Rápida: Nos proporciona diferentes características que hacen que el desarrollo de aplicaciones web sea más rápido y sencillo, ya que no tenemos que configurar todo desde cero (como en el caso de usar solo Node.js)
  • Flexible: NO existe una sola forma correcta de hacer las cosas, por lo que nos da bastante libertad al momento de desarrollar; un ejemplo de un framework no flexible es Ruby on RailsThe Rails Way”. A diferencia de otros frameworks que nos dan todo, Express es totalmente lo opuesto ya que NOSOTROS vamos a tener el control de ir agregando lo que se necesita cuando realmente lo ocupemos.
  • Minimalista: Ya que nos permite trabajar con todas las características de Node.js; la filosofía de Express es proporcionar una capa mínima entre lo que pensamos y el servidor, es decir nos da la libertad de plasmar nuestras ideas al momento de desarrollar.
  • Framework: Proporciona una forma estándar de construir e implementar aplicaciones.

El creador Express TJ Holowaychuk[ref] siempre ha dicho que Express está inspirado en el framework Sinatra[ref] (framework basado en Ruby), y esto es debido a que en su momento Ruby hizo que el desarrollo web fuera más rápido y fácil de mantener.

Express también está basado en el módulo de middleware de Node.js llamado Connect[ref]. Hasta la versión 4.0 Express eliminó Connect (excepto la parte estática) permitiendo que este middleware se actualice de forma independiente, por lo que Express ya NO es dependiente de Connect[ref].

Middleware : Cualquier software que se encuentra entre el código de la aplicación y alguna API de bajo nivel.

:: Ventajas de usar Express

  • Fácil de configurar y personalizar.
  • El desarrollo de aplicaciones web con Node.js sea más rápido y sencillo.
  • Mayor control al momento de configurar y personalizar.
  • Definir rutas de la aplicación basadas en métodos HTTP y URL.
  • Nos permite definir de manera sencilla un error al manejar el middleware.
  • Nos permite crear un servidor API REST.
  • Fácil conexión con bases de datos (Ej. mongoDB 😉)

iii. Hello world con Node.js

Antes de continuar, te recomiendo primero leer la story: Node.js, NPM, Yarn, NVM, Webpack, Babel…[ref], con la finalidad de tener los conceptos más frescos y de paso instalar Node.js (en caso de no tenerlo).

Lo primero que vamos a hacer es crear la carpeta node-example , donde vamos a crear el archivo index.js, dentro del archivo agregamos el siguiente código:

Abrimos la consola dentro de la carpeta y ejecutamos lo siguiente:

Abrimos el navegador http://localhost:3000/

Así de rápido y sencillo hemos creado nuestra primer aplicación en Node.js!!

Importante: Esta es solo una manera básica de levantar un servidor con Node.js, si quieres profundizar más, te recomiendo leer la documentación oficial [ref]

iv. Hello world con Node.js y Express

Antes de continuar leyendo te recomiendo la siguiente story: Conceptos básicos — API[ref] para comprender lo básico acerca de API.

Lo primero que vamos a hacer es crear la carpeta express, con la finalidad de tener en un solo lugar todos los ejemplos.

Ahora, crearemos la carpeta express/hello-world, abrimos la terminal en la carpeta y ejecutamos:

Todas las dependencias se manejan dentro de un archivo llamado package.json, que puede ser creado de manera sencilla en la línea de comandos usando CLI

Si quieres saber como configurar, y crear de manera óptima y segura el archivo, te invito a que revises la documentación: npm-init[ref] y package.json[ref] o con el comando npm help json

En nuestro caso vamos a dejar por default todos los valores, EXCEPTO el nombre del archivo principal, a ese le pondremos app.js

Al finalizar, nos genera un archivo llamado package.json, que debe verse más o menos así:

Ahora instalaremos express dentro de las dependencias, entonces ejecutamos la siguiente línea:

Creamos el archivo app.js (que es el nombre que le pusimos al archivo principal dentro de nuestra configuración dentro de package.json), y agregamos lo siguiente:

En consola ejecutamos lo siguiente:

Si abrimos nuestro navegador http://localhost:3000/, debemos ver la solicitud REST siguiente:

Con Postman:

Si no sabes qué es Postman o no tienes idea de cómo se usa, puedes darte una vuelta por acá: Probando APIS con Postman[ref].

Sencillo, ¿no?…

--

--