Hace unos años escribí un memorando sobre el libro Atomic Design de Brad Frost. Es habitual encontrar en Internet: reseñas, resúmenes y memorandos sobre libros. ¿Y por qué no sobre podcasts?
Recientemente necesité informarme sobre los motivos por los que Drupal es considerado un CMS difícil o “para desarrolladores”. Y no he encontrado mejor recurso en español que el episodio número 22 (13/02/2018) del podcast Web Reactiva del programador y formador Daniel Primo.
Lo que pretendo en este artículo es pasar a limpio las principales enseñanzas o reflexiones que me ha aportado la escucha del episodio. A modo de recordatorio para el futuro. En consecuencia, se trata de un escrito completamente subjetivo y basado en mi know how previo.
¿Qué es Drupal?
Drupal es algo más que un CMS (Content Management System), un gestor de contenidos. Es un framework para construir aplicaciones web. Es software libre (open source). Está construido con tecnologías de software libre como PHP y JavaScript.
Arquitectura básica de Drupal: módulos (PHP y JS para el navegador) y plantillas (themes CSS, JS y HTML) que se integran sobre el núcleo y se comunican con él a través de diversas APIs.
Características destacadas:
- Alta escalabilidad
- Modular
- Mobile First
- Máxima preocupación por la seguridad
- Integración con otras plataformas (API First)
- Arquitectura de contenido flexible
- Multisite
- Multidioma
- Una gran comunidad de desarrolladores que lo soporta
¿Para qué proyectos es adecuado Drupal?
En la charla que Dries Buytaert (el creador de Drupal) ofreció en la DrupalCon de 2017 en Viena, expuso las intenciones sobre el propósito futuro de Drupal. Declaró que no es una herramienta para crear sitios web sencillos, sino para crear plataformas complejas. Como, por ejemplo:
- Sitios con integraciones de terceros
- Plataformas multisite
- Plataformas omnicanal (presentar información en distintos dispositivos y/o aplicaciones mediante la API)
- Etc.
Drupal no es la herramienta para webs corporativas sencillas, blogs o portfolios personales.
¿Qué perfil se requiere para desarrollar sobre Drupal?
Para poder empezar a exprimir el potencial de Drupal, es necesario que los usuarios que desarrollen los sitios web tengan cierto grado de conocimiento de Drupal y sepan programar en PHP.
¿Por qué es considerado Drupal difícil?
El núcleo de Drupal 8 se basa en componentes Symfony (uno de los framework más potentes que existen para PHP). Por tanto, ha dado un giro definitivo hacia la programación orientada a objetos. Paradigma de programación que hay que entender y dominar para sacarle el máximo provecho a la herramienta. En consecuencia, marca ineludiblemente unas reglas del juego que tienes que aprender.
Además, los recursos de aprendizaje para los usuarios que ya han superado las fases iniciales de conocimiento de la herramienta son escasos y cobran mucha importancia las personas con experiencia. Debería haber al menos una persona en el equipo con este perfil de experto que oriente a los más novatos.
Desde hace años circula un gráfico anónimo en clave de humor que representa la curva de aprendizaje de Drupal con respecto a otros populares CMS.