Growich
Contáctanos
Empieza a usar Strapi, un CMS headless altamente personalizable

Empieza a usar Strapi, un CMS headless altamente personalizable

Daniel Hurtado

Daniel Hurtado on Desarrollo

15 dic. 2020 · 5 mins

Los CMS (Content Management System), son sistemas que permiten gestionar contenido de manera amigable, sin necesidad de conocimientos en desarrollo, siendo alguno de estos Drupal, Joomla o Wordpress. La mayoría de los CMS cuentan con algo en común: son sistemas completos y totalmente independientes, que no requieren desarrollos adicionales para funcionar, ya que cuentan tanto con un backend con panel administrativo, como frontend con vistas para los usuarios.

Como novedad en el mundo de los CMS, en los últimos años se han popularizado variantes conocidas como "Headless CMS", los cuales a diferencia de los tradicionales, carecen de un frontend desde el cual los usuarios puedan visualizar el contenido que hacemos, dejando el trabajo a desarrolladores de implementarlos haciendo uso de APIs REST o GraphQL, logrando ventajas tales como: velocidad, flexibilidad y escalabilidad.

Qué es Strapi

Strapi es un headless CMS de código abierto desarrollado en Node.js y con un enfoque en lograr una gran capacidad de personalización, haciéndo posible proyectos complejos en un periodo de tiempo más reducido.

Como casi todo headless CMS, tiene la capacidad de generar tipos de entradas repetidos (collections types) en base a nuestras necesidades así como también contenidos únicos (single types), y obtenerlos a través de su API REST o GraphQL. Además de brindar herramientas para autenticación manual y con redes sociales, envío de emails, subida de archivos, gestionar roles y permisos de usuarios, configurar webhooks y más.

Panel de administración de Strapi

¿Por qué elegirlo?

Strapi está lejos de ser el único CMS headless del mercado, con gran competencia tal como DatoCMS, PrismicCMS, Contentful, ButterCMS y decenas de alternativas más. Sin embargo, al buscar opciones open source, auto alojada, personalizables, con gran uso (y soporte comunitario) y con constructor flexible de colecciones, Strapi deja atrás a toda su competencia.

En Growich.com hicimos uso de Strapi como CMS para nuestro blog, casos de estudios e incluso formularios de contacto, sin embargo eso es tan solo una pequeña parte de lo que es posible hacer con Strapi. Gracias a su alta personalización, extensión y escalabilidad se han realizado con éxito proyectos tales como tiendas, apps de pedidos, sistemas de renta, blog, webs corporativas, dejando un sinfín de posibilidades.

Guía de inicio

La instalación de Strapi como gran mayoría de proyectos de Node.js es bastante sencilla y rápida, pero antes debemos cumplir los siguientes requerimientos:

  • Node.js >= v12.x.
  • NPM >= v6.x.
  • Yarn (Opcional).
  • Base de datos (una de ellas):SQLite >= 3, PostgreSQL >= 10, MySQL >= 5.6, MariaDB >= 10.1, MongoDB >= 3.6.

Una vez cumpliendo los requerimientos, empezamos nuestro proyecto mediante el CLI, para ello ejecutamos:

yarn create strapi-app my-project --quickstart

o

npx create-strapi-app my-project --quickstart

Con esto, se creará un nuevo proyecto de Strapi listo para usar con SQLite, en caso contrario podemos eliminar el "--quickstart" para configurar con una base de datos de nuestra preferencia. Una vez finalizada la construcción del proyecto, podemos iniciarlo con 'npm run develop' o 'yarn develop', y acceder a http://localhost:1337.

strapi-welcome-min.jpg

Para terminar la instalación, basta con crear nuestra cuenta de administración y empezar a crear colecciones y generar contenido:

strapi-firstsetup-min.jpg

Más información en: https://strapi.io/documentation/v3.x/installation/cli.html

Pros y contras

Una vez entendido qué es Strapi, cuales son sus funciones y características, quedaría resaltar sus puntos a favor y en contra desde una perspectiva más amplia y en base a nuestra experiencia con otras CMS headless y convencionales, y a su vez vistas desde no solo nuestra perspectiva de desarrolladores sino también desde un producto terminado y mantenido por un usuario normal.

Principales pros:

  • Auto alojado y código libre.
  • Editor de tipos de datos (colecciones y únicos).
  • Personalización y escalabilidad (Extensiones y plugins con Javascript).
  • Sistema de usuarios, roles y autenticación nativa.
  • Documentación, ejemplos y comunidad.

Principales contras:

  • Carencia de soporte de contenido multilenguaje (planeado Q1 2021).
  • Complejidad de mantener para no desarrolladores (actualizaciones manuales).
  • Complejidad para instalar plugins para no desarrolladores (instalaciones manuales).
  • Carencia de sistema de backup/restore nativo de tipos y contenido.
  • Algunas limitaciones en Community Edition (versión gratuita)

Conclusión

En Growich hemos trabajado con Strapi y sin duda alguna lo volveremos a hacer en futuros proyectos. Consideramos que es un entorno de desarrollo que sirve como una base sólida para gran cantidad de usos sin sacrificar demasiado margen de personalización y a su vez ganando un flujo de trabajo mucho más rápido. Creemos que Strapi es un buen framework para empezar y que a pesar de no tener un enorme equipo detrás, está en constante evolución para ofrecer nuevas características.

Posts relacionados

Empieza a usar Strapi, un CMS headless altamente personalizable

Empieza a usar Strapi, un CMS headless altamente personalizable

Strapi es un headless CMS de código abierto desarrollado en Node.js y con un enfoque en lograr una gran capacidad de personalización, haciendo posible proyectos complejos en un periodo de tiempo más reducido.

Daniel Hurtado

Daniel Hurtado on Desarrollo

15 dic. 2020 · 5 mins