Express (Parte I) — Conceptos básicos y un hello world
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 Rails “The 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
yURL
. - 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?…
En la siguiente entrega vamos a ver Express (Parte II) — Peticiones HTTP (GET, PUT, POST, DELETE)
La entrega pasada vimos MongoDB (Parte VI) — Eliminando un documento, una colección y una base de datos
Bibliografía y links que te puede interesar…
Iconos e imágenes…