CMS o Hecho a la medida…

En cada nuevo proyecto, aparece la pregunta si usar un CMS (Content Management System) o hacer todo de cero. Aunque uno tenga las ideas claras al respecto, siempre es bueno poner las ideas en el papel, aunque este sea digital. Por lo que voy a escribir los pro y los contra de cada sistema. Por supuesto, uno siempre puede armar un híbrido, pero eso lo podemos discutir más adelante. Primero veamos los pro y los contra de un CMS

Pros:

  1. Es una instalación "llaves en mano", una vez funcionando la mantención e ingreso de contenido lo puede hacer cualquier cristiano no necesariamente muy techie.
  2. Se puede encontrar soporte gratuito en foros (dependiendo de la popularidad del CMS escogido)
  3. Se le puede agregar nueva funcionalidad fácilmente.
  4. Si el CMS escogido tiene varios años de vida (Joomla, Drupal, etc.), ya a pasado por varios años de testeo y desarrollo, por lo que tiene muy pocos bugs.
  5. Uno puede contratar gente que ya tenga experiencia con el CMS en particular.
  6. Hay servicios de hosting que probablemente le ofrezcan a uno el CMS escogido ya instalado.
  7. Se pueden encontrar templates gratuitos o de pago fácilmente en la red.
  8. Generalmente los CMS tienen una seguridad adecuada contra hackers.
  9. Se puede instalar muy rápidamente.
  10. El uso de un CMS asegura una disposición y apariencia gráfica consistente en todas las páginas del sitio

Contras:

  1. La instalación puede ser dificultosa para alguien sin experiencia.
  2. Es muy probable que el CMS tenga código superfluo para la aplicación que uno necesita, pero que es necesario para la creación del sistema de módulos que generalmente trae.
  3. La personalización no es necesariamente fácil, especialmente para alguien sin experiencia en el CMS. Las modificaciones que no entran dentro del sistema de módulos del CMS probablemente sean difíciles de implementar, incluso para un programador con experiencia (no siempre el código esta bien documentado, y siempre es difícil entender el código de otros, especialmente en un sistema complejo como puede llegar a ser un CMS)
  4. La documentación no siempre es adecuada.
  5. Todo el código superfluo puede hacer que el sitio funcione más lento, y que ocupe más recursos de los necesarios.
  6. La funcionalidad es limitada a los módulos preexistentes.
  7. Los CMS son lentos para responder a los cambios tecnológicos (nuevas versiones de base de datos, web server, nuevas plataformas) lo que se ve en que las nuevas versiones no son muy frecuentes.
  8. Cuando ocurren estas nuevas versiones, su instalación puede requerir cambios mayores a la instalación original, o incluso una reinstalación completa
  9. A pesar del punto 4 de los pro, los módulos opcionales que uno instale no necesariamente estan bien probados, y pueden tener muchos bugs y ser inseguros.
  10. Todas las páginas del sitio terminan teniendo la misma disposición y apariencia, lo que puede ser una desventaja.
  11. El código es generalmente abierto, lo que deja una oportunidad a los hackers para encontrar hoyos de seguridad. Lo que es una ventaja en el punto 2 de los pros, es una desventaja cuando son los hackers quienes fácilmente encuentran "soporte" buscando estos hoyos de seguridad en la red.