Lecciones de PHP - Parte 3 - Creación de tu propio CMS
Crear sitios con CMS no se limita solo a Drupal, Joomla y Wordpress. En el mundo, la mayoría de los sitios están hechos con CMS propios. A pesar de que ya se ha escrito mucho código en PHP, los programadores muy a menudo utilizan sus propios desarrollos. Veamos por qué tiene sentido utilizar tu propio CMS.
Sí, existe Drupal, un sistema potente con una gran cantidad de módulos, hooks y funciones para crear tus propios módulos. Muchos saben cómo escribir sus propios módulos, pero veamos cuántas personas trabajan en la creación del núcleo de Drupal. Seguramente has leído que Drupal es el trabajo de cientos o incluso miles de programadores. Pero veamos quién realmente hace Drupal.
En la página de descargas de Drupal, hay un bloque con la lista de programadores que trabajan en el núcleo de Drupal, es decir, en el propio CMS.
drupal.org/node/3060/committers?sort=desc&order=Commits
Y en esta página hay una lista de programadores con los cambios que han aportado al núcleo. La lista es:
Desarrollador | Último cambio | Primer cambio | Cambios |
---|---|---|---|
Dries | hace 3 días | hace 11 años | 10501 cambios |
webchick | hace 5 días | hace 3 años | 3108 cambios |
Gábor Hojtsy | hace 2 días | hace 4 años | 1635 cambios |
Steven | hace 4 años | hace 11 años | 1156 cambios |
drumm | hace 1 año | hace 5 años | 764 cambios |
killes@www.drop.org | hace 4 años | hace 6 años | 506 cambios |
Kjartan | hace 5 años | hace 11 años | 383 cambios |
catch | hace 2 días | hace 21 semanas | 329 cambios |
Jeroen | hace 10 años | hace 11 años | 101 cambios |
Git Migration | hace 1 año | hace 10 años | 38 cambios |
jhodgdon | hace 2 días | hace 3 días | 3 cambios |
quicksketch | hace 16 semanas | hace 16 semanas | 3 cambios |
pillarsdotnet | hace 23 semanas | hace 23 semanas | 2 cambios |
Comenzando por la lista:
Dries (10k cambios) – nombre completo Dries Buytaert, fundador del proyecto Drupal. Como puedes ver, el proyecto tiene más de 11 años. Dries fundó la empresa Acquia, que se encarga del soporte técnico de sitios en Drupal (que no es gratis a diferencia del propio Drupal), así como del desarrollo del núcleo y módulos de Drupal. Leí en una entrevista que Dries ya no programa directamente, sino que dirige Acquia. El gran número de cambios se explica porque recibe parches listos que solo añade al núcleo.
webchick (3k cambios) – nombre completo Angie Byron, desarrolladora principal de Drupal 7. Trabajó (¿o trabaja?) en Lullabot, aunque su perfil en drupal.org dice que si quieres contratarla debes hacerlo a través de Acquia. También creó Drush, una colección de scripts para trabajar con Drupal desde consola. Actualmente es una de las desarrolladoras líderes de Drupal.
Gábor Hojtsy – nombre completo Gábor Hojtsy, uno de los desarrolladores principales de Drupal 6. También trabajó en internacionalización y traducción en Drupal 7.
Claro, hay otros desarrolladores del núcleo que trabajaron en partes específicas, pero estos son los principales. Así que, aunque se diga que Drupal es obra de miles, el núcleo lo hacen unos pocos. Incluso grandes CMS son desarrollados por unos cuantos.
Volviendo a la pregunta original, ¿por qué crear tu propio CMS? ¿Recuerdas cuánto tiempo te tomó aprender Drupal? A algunos les toma menos tiempo escribir su propio CMS que aprender uno como Drupal.
PHP es un lenguaje simple (en comparación con otros), escribir código en él está al alcance de todos, no requiere conocimientos profundos para cosas básicas. Claro que para una CMS grande se necesita saber más, pero veamos las ventajas:
1. Sabes dónde está todo. ¿Con qué frecuencia miras el código de taxonomy.module o comment.module? Yo no muy seguido, ¿y tú? El código está escrito, documentado, y los templates se sobreescriben. ¿Qué más necesitas? Pero si hay un error, ¿qué haces? ¿Escribir en drupal.org y esperar a que te respondan los desarrolladores del núcleo? No es muy práctico.
2. Alta velocidad. No es un secreto que Drupal puede ser lento y genera muchas consultas a la base de datos. Un CMS propio será mucho más rápido. Aunque en Drupal hay módulos de optimización y caché, esto es más problema en hosting compartido.
3. Tú mandas. No tienes que seguir la regla de "no tocar el núcleo", puedes modificarlo a tu gusto. No necesitas esperar una nueva versión para aplicar tus cambios.
Claro que hay desventajas, pero… No hablemos de eso. Drupal es bueno, todos lo saben. No lo repetiremos.
Así que, si decidiste escribir tu propio CMS, empecemos.