Skip to content

Node App | [2] Introducción a configuración con Koa

Benjamín Domínguez edited this page Oct 16, 2020 · 1 revision

Tema: Node App - Introducción a configuración con Koa 🌳

Versión: 1.0

Por Benjamín Domínguez (bidominguez@uc.cl) | Ian Basly (igbasly@uc.cl)

Video 🖼️

La cápsula contempla un video con explicaciones y ejemplos, disponible en este enlace

Código de ejemplo 👨‍💻

El código de ejemplo se encuentra en la dirección Material/carrito de este repositorio. Este es el enlace a la PR con los commits del video .

Contenidos del ejemplo 📑

  • Hola mundo con Koa
  • Demostración de Koa-Router
  • Demostración de Koa-Session

Contexto 📖

Nuestro entorno de desarrollo (Node) tiene a su disposición una serie de frameworks para facilitar y manejar gran parte de la infraestructura del servidor. Tal vez, sea familiar el nombre Express.js. En esta ocasión se trabajará con un framework similar: Koa, desarrollado por el mismo equipo de Express con el objetivo de crear un marco más liviano, rápido y robusto para el desarrollo web.

¿Por qué Koa? 🤔

Koa aún no es un marco de desarrollo tan grande como Express, pero sin duda nos ofrece toda la confianza debido a que fueron desarrollados por el mismo equipo. Además de eso, Koa ofrece una serie de ventajas:

  • Es muy liviano.
  • Mejora la robustez e interoperabilidad (comunicación entre sistemas)
  • Mejora la experiencia de usuario y manejo de errores.
  • Las funciones async incluidas son mucho más legibles.
  • Ya no hay llamadas a callbacks para el control de flujo.

En general nos ofrece excelentes características para comenzar desarrollando en Node y crear aplicaciones "sencillas".

Fuente: https://nodesource.com/blog/Express-Koa-Hapi

Instalación ⬇️

La instalación de Koa es muy simple utilizando NVM, por supuesto que necesita la instalación previa de Node desde la versión 7.6.0, debido al uso de funciones async.

Un ejemplo de instalación:

nvm install 7        #Instalar Node V7
npm install koa      #Equivalente a yarn add koa

Fuente: https://koajs.com

Hello World App 💻

Koa permite crear una aplicación "Hello World" con solo un par de líneas. Considerando que ya instalamos Koa en algún directorio hello-app/, entonces dentro deberíamos ver algo así:

./hello-app
+-- package.json
+-- node_modules/

A esto podemos agregar un archivo para la aplicación hello-world.js, obteniendo:

./hello-app
+-- hello-world.js
+-- package.json
+-- node_modules/

Dentro de este archivo, podemos agregar:

const Koa = require('koa');
const app = new Koa();

app.use(async ctx => {
  ctx.body = 'Hello World';
});

app.listen(3000);

Fuente: https://koajs.com

Y ejecutamos la aplicación mediante:

node hello-world.js

¡Ya podemos ver nuestra app en http://localhost:3000! 🙌

Enlaces útiles ⛓️

En los siguientes enlaces, algunos referenciados en el video, pueden encontrar información sobre lo expuesto y más.