El curso ha sido pospuesto para Marzo de 2025. Conoce más aquí

19 de marzo de 2024

El stack tecnológico detrás de Strapi.js

El stack tecnológico detrás de Strapi.js

Strapi es un headless CMS de código abierto que te permite crear desde APIs hasta gestionar contenido para mostrar en cualquier tipo de proyecto web o aplicación. En este artículo te hablaré un poco más sobre las tecnologías que utiliza Strapi.js y que permite que sea tan flexible y fácil de usar.

Node.js + Koa

Strapi.js esta construido utilizando Node.js, un entorno de ejecución para JavaScript que nos permite correr código JavaScript en el servidor. Node.js es muy popular en el desarrollo de aplicaciones web y es ampliamente utilizado en el desarrollo de APIs.

Especificamente, Strapi.js utiliza Koa, un framework web para Node.js, con el cual podemos crear solicitudes HTTP y gestionar respuestas de manera sencilla. Es decir, que con esta herramienta tendremos la posibilidad de extender su funcionalidad en caso de que necesitemos hacerlo.

Utilizando Koa, podemos crear endpoints para nuestra API de acuerdo a nuestras necesidades y requerimientos, y gracias a su facilidad de aprendizaje y herramientas disponibles es un aliado importante.

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

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

app.listen(3000);

Bases de datos

Strapi.js soporta una gran variedad de bases de datos para que puedas elegir la que mejor se adapte a tus habilidades y necesidades. Entre las bases de datos soportadas por Strapi.js se encuentran:

  • PostgreSQL.
  • MySQL.
  • SQLite.
  • MariaDB.

Ademas, Strapi utiliza Knex.js internamente, un generador de consultas SQL para Node.js, que nos permite escribir consultas SQL de manera sencilla y segura. Esto viene integrado dentro de las funcionalidades de Strapi a través del Entity Service y Query Engine. Por lo que si en algun momento, tienes la necesidad de extender su funcionalidad la documentación de Knex te ayudará.

Knex, le brinda a Strapi la capacidad de movernos sobre diferentes bases de datos sin tener que cambiar el código de nuestra aplicación, lo que nos permite ser más flexibles y escalables. Además, sus funcionalides incorporadas como soporte a transacciones, migraciones y semillas, nos permiten tener un control total sobre nuestra base de datos. Y lo más importante, es que Knex es una herramienta que se mantiene activa y actualizada, por lo que siempre tendremos soporte y nuevas funcionalidades.

// Selecciona solo las columnas title, author y year de la tabla books
knex.select('title', 'author', 'year').from('books');

// Selecciona todas las columnas de la tabla books
knex.select().table('books');

React.js

Strapi durante la nueva creación de su panel de administración, diseño su propio sistema diseño de componentes y utilizaron React.js para su desarrollo.

Sistema de diseño de Strapi

Ver sistema de diseño

React es una librería de JavaScript para construir interfaces de usuario, desarrollada por Facebook, que nos permite crear componentes reutilizables y construir interfaces de usuario de manera sencilla y eficiente.

Toda su interfaz de usuario esta construida sobre esta tecnología, lo que permite que cientos de desarrolladores puedan incorporar funcionalidades nuevas a sus proyectos. Además, dentro de Strapi, cuando necesitamos crear campos personalizados utilizando los plugins, podemos hacerlo utilizando React, lo que nos permite tener un control total sobre la interfaz de usuario.

De esta manera, podemos hacer uso de cientos de componentes que actualmente tenemos disponibles para crear una interfaz de usuario atractiva y mejores experiencias para los usuarios.

import * as React from 'react';

function MyButton() {
  return (
    <button>Soy un botón</button>
  );
}

Conclusión

Después de haber visto esto, espero que ahora quede un poco más claro el stack tecnológico que utiliza Strapi.js y que te animes a probarlo en tu próximo proyecto. Recuerda que Strapi es un CMS de código abierto, por lo que puedes utilizarlo de manera gratuita y sin restricciones. Algunas de sus funcionalidades están disponibles en su versión enterprise, pero la versión open-source es suficiente para la mayoría de los proyectos.

Estoy seguro que esta herramienta te puede ayudar a crear tus proyectos que tienes pendiente y que no haz logrado echar andar, así que no dudes en probarla.

Nos vemos en el próximo artículo.

Aprende y domina Strapi.js

Únete al curso donde podrás aprender mucho más sobre el CMS open-source más popular del momento.

Primeras lecciones ya disponibles ¡Adquiérelo ahora!