Todos los artículos

No Necesitas una Base de Datos. Usa Statamic

Julian Beaujardin
Julian Beaujardin August 9th, 2024

Statamic es un Sistema de Gestión de Contenidos (CMS) potente y flexible diseñado para simplificar el proceso de creación y gestión de sitios web. Uno de los aspectos más únicos de Statamic es que no depende de una base de datos tradicional como MySQL o PostgreSQL. En su lugar, utiliza archivos planos para el almacenamiento de contenido, lo que ofrece varias ventajas. En este artículo, exploraremos por qué no necesitas una base de datos con Statamic y proporcionaremos un ejemplo de código para ilustrar cómo funciona.

Ventajas de Usar Archivos Planos en Statamic

  1. Simplicidad y Velocidad:

    • Los archivos planos son archivos de texto simples (generalmente Markdown o YAML) que son fáciles de leer y escribir.
    • Eliminan la necesidad de consultas complejas a la base de datos, lo que resulta en una recuperación y renderización de contenido más rápida.
  2. Control de Versiones:

    • Dado que todo el contenido se almacena en archivos, puedes integrar fácilmente Statamic con sistemas de control de versiones como Git.
    • Esto facilita el seguimiento de cambios, la colaboración con miembros del equipo y la posibilidad de revertir a versiones anteriores si es necesario.
  3. Portabilidad:

    • Mover un sitio de Statamic de un servidor a otro es sencillo porque no hay una base de datos que exportar e importar.
    • Todo el contenido y la configuración se almacenan en archivos, lo que hace que el sitio sea altamente portátil.
  4. Escalabilidad:

    • Los archivos planos pueden manejar una cantidad sorprendente de tráfico y datos.
    • Para la mayoría de los sitios web pequeños y medianos, los beneficios de rendimiento de los archivos planos superan la necesidad de una base de datos tradicional.
  5. Seguridad:

    • Sin una base de datos, hay un vector de ataque menos para que los actores malintencionados exploten.
    • Los archivos planos pueden ser asegurados con permisos de archivos y controles de acceso adecuados.

Ejemplo de Código: Creando una Entrada de Blog en Statamic

Para ilustrar cómo funciona Statamic sin una base de datos, vamos a crear una simple entrada de blog.

  1. Instalar Statamic: Primero, asegúrate de tener Statamic instalado. Puedes seguir la guía de instalación oficial si no lo has hecho.

  2. Crear una Colección: En Statamic, las colecciones se utilizan para agrupar tipos similares de contenido. Crearemos una colección blog.

    php please make:collection blog
    
  3. Definir la Colección de Blog: Este comando crea un directorio blog bajo content/collections. Definiremos la configuración de nuestra colección en content/collections/blog.yaml.

    title: Blog
    route: /blog/{slug}
    template: blog
    layout: layout
    sort: date:desc
    
  4. Crear una Entrada de Blog: Ahora, vamos a crear una nueva entrada de blog en el directorio content/collections/blog. Crea un archivo llamado 2024-08-05-first-post.md.

    ---
    title: "Mi Primera Entrada de Blog"
    date: 2024-08-05
    ---
    

    Agrega contenido al archivo:

    # Mi Primera Entrada de Blog
    
    Bienvenido a mi primera entrada de blog en Statamic. Esta entrada se almacena como un archivo plano y no requiere una base de datos.
    
  5. Configurar la Plantilla: Crea una plantilla para las entradas de blog en resources/views/templates/blog.antlers.html.

    <!DOCTYPE html>
    <html lang="es">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>{{ title }}</title>
    </head>
    <body>
        <article>
            <h1>{{ title }}</h1>
            <time datetime="{{ date }}">{{ date format="F j, Y" }}</time>
            <div>
                {{ content | markdown }}
            </div>
        </article>
    </body>
    </html>
    
  6. Ver la Entrada de Blog: Inicia tu servidor de desarrollo local:

    php please serve
    

    Navega a http://localhost:8080/blog/mi-primera-entrada-de-blog para ver tu nueva entrada de blog.

Conclusión

El enfoque de archivos planos de Statamic ofrece numerosas ventajas, incluida la simplicidad, la velocidad y la facilidad de uso. Al almacenar el contenido en archivos planos, puedes evitar las complejidades y el sobrecoste asociados con las bases de datos tradicionales. Esto hace que Statamic sea una excelente opción para sitios web pequeños y medianos y para desarrolladores que prefieren un flujo de trabajo sencillo y controlado por versiones. Si buscas un CMS que no requiera una base de datos, Statamic definitivamente vale la pena considerar.