> Manuales > Publicar en Internet

Análisis de las principales soluciones de CMS junto con las características que nos pueden ayudar a decidir entre uno u otro. WordPress, Joomla!, Drupal, DotNetNuke, Typo3.

A la hora de escoger un CMS para un nuevo proyecto podemos encontrarnos ante la duda sobre cuál es mejor o cuál es peor, pero la verdad es que lo que tendríamos que analizar es cuál se adapta mejor a nuestras necesidades. En este artículo pretendemos dar una serie de motivos por los que podríamos decantarnos por uno u otro CMS, de modo que nos facilite la elección.

Vamos a centrarnos en los sistemas de gestión de contenido con licencia de uso gratuita, por ser Open Source, que al final de las cuentas son los más solicitados y generalmente ofrecen las mismas prestaciones que aquellos de pago. Por otra parte son los que conocemos más y de los que podemos dar una opinión.

¿Realmente necesito un CMS?

Antes de comenzar a analizar cuál es el CMS que mejor se adapta a nuestras necesidades hay una pregunta que quizás deberíamos plantearnos. ¿Realmente un CMS es la solución para mi problema?.

En general la respuesta depende mucho del tipo de proyecto que se desee desarrollar, no obstante existen una serie de parámetros que nos indican una cosa u otra.

Primero podríamos desarrollar una web sin utilizar ningún tipo de software, realizando todo el trabajo manualmente. Este sería el primer supuesto, solo recomendable si la web a desarrollar es realmente pequeña, de 1 a 5 páginas, y no se requiere editar su contenido con frecuencia. Para todas las otras situaciones un CMS realmente ayudará.

La otra opción podría ser decantarse por un framework para desarrollo. Esto es, un paquete de librerías y una definición de arquitectura que nos facilite el trabajo y a la vez nos asegure una mayor calidad de nuestro trabajo final. Generalmente la elección entre un framework y un CMS se basa en la personalización del proyecto. Los CMS facilitan la creación de sitios que se basan en contenido y cuyas estructuras son comunes con relación a otros muchos sitios. Esto no quiere decir que el contenido deba basarse en artículos o post como un blog, porque el CMS puede adaptarse a muchos tipos de entrada de información, pero al fin y al cabo siempre maneja sitios basados en contenido, con texto, fotos, vídeo, etc.

Un CMS también puede producir fácilmente catálogos o tiendas, pero el framework se adapta mejor a lo que serían conocidas como aplicaciones de gestión. Estas aplicaciones dan mayor peso a la funcionalidad que al propio contenido. Por ejemplo, una aplicación de facturación, una aplicación de reserva de viajes, registro de asistentes a un evento, etc.

Principales características de los CMS orientadas a la selección

Ahora vamos a hacer un resumen de las características de los CMS, pero no nos centraremos tanto en las funcionalidades o sus capacidades de manejar uno u otro tipo de contenido, sino más bien en las que pensamos que pueden ayudarnos a seleccionar entre unos y otros.

WordPress

Este es el rey de los CMS, sobre todo en lo que respecta a tasa de uso. WordPress es el más sencillo de los CMS populares y por eso es la elección de muchos desarrolladores, ya que facilita su uso y aprendizaje. Sencillo nos referimos tanto a su arquitectura de desarrollo como a la hora de usarlo por parte de los administradores del sitio. Sus capacidades “de salida” no son las mejores y están orientadas a hacer un blog, pero eso no es impedimento para que WordPress sea capaz de albergar todo tipo de web.

Todas las estadísticas indican que es el más usado con diferencia, aunque no sea el mejor en muchos otros aspectos. Por ejemplo en lo que respecta a calidad del código y arquitectura dista mucho de ser ideal, falto también de todo tipo de patrón de diseño de software. Pero eso básicamente es también uno de los motivos por los que resulta fácil de usar y de adaptar a todo tipo de proyectos.

Joomla!

joomla es más completo que WordPress, de casa o en su instalación básica. Hace más cosas y es capaz de crear sitios más sofisticados, pero también es más difícil de usar, tanto para los administradores del sitio como para los desarrolladores que necesiten adaptarlo o ampliar sus funcionalidades. El equipo de desarrolladores que lo realiza tiene más interés por conseguir un código limpio, adaptable y escalable, por lo que como software también tiene más calidad.

En nuestra opinión tiene un problema, aunque este mismo problema también trae beneficios, aunque no suele gustar a mucha gente: no respeta compatibilidad hacia atrás. Eso quiere decir que una instalación de Joomla! 2.x no es compatible con 3.x y así en adelante. Los beneficios son que el software puede crecer en calidad y adaptarse a nuevos patrones y arquitectura que mejoren lo existente, pero en contra produce muchos problemas cuando toca actualizar. Se traduce en inversión, ya sea en tiempo o en dinero, por parte de las empresas que quieran migrar a versiones superiores para seguir disponiendo de un CMS con las últimas características en funcionalidad y a veces en seguridad.

Drupal

Si midiéramos la calidad de un CMS por la calidad de su código, de los tres que hemos analizado hasta el momento, Drupal sería un claro ganador. Sin embargo Drupal es menos usado, aunque muy respetado por la comunidad. A los desarrolladores les suele acobardar su curva de aprendizaje y es que Drupal usa muchas características de programación avanzada que en ocasiones son difíciles de manejar cuando se quiere hacer personalizaciones importantes o ampliaciones de funcionalidad.

En los últimos años y nuevas versiones Drupal usa como motor un framework de desarrollo tan importante como Symfony, lo que debe provocar nuevos adeptos que se sientan familiarizados con las costumbres de desarrollo de tal framework. Otra de las ventajas de su arquitectura es que es compatible con varias bases de datos y no solo MySQL como otras alternativas comentadas.

Drupal sin duda es una buena opción si tenemos un nivel alto como desarrolladores y apreciamos un código de calidad, sin embargo la comunidad es menor todavía, lo que puede provocar dificultades mayores en encontrar soluciones a problemas típicos, comparada con CMS más populares como WordPress o incluso Joomla!.

DNN

Antes conocido como DotNetNuke, DNN es un CMS de altas prestaciones que cabe señalar y recomendar porque está desarrollado con otras tecnologías que los anteriores. Mientras que WordPress y compañía usan PHP, DNN usa .NET. Es un motivo muy especial para mucha gente que se siente más cómodo con tecnologías Microsoft.

Este CMS tiene bastante cuota de mercado, en número de sitios, pero no es comparable a WordPress.

Typo3

Por salir de las opciones más trilladas y comentadas a lo largo y ancho de Internet, sacamos a relucir otro CMS basado en tecnologías PHP, compatible con varias bases de datos populares como PostgreSQL u Oracle, aparte de MySQL.

Typo3 tiene muchas funcionalidades de casa y su uso está extendido principalmente en Europa, con Alemania a la cabeza. El hecho de no estar tan usado tiene dos caras de la moneda, por un lado se encuentran menos posibles soluciones a problemas y por otro lado tendremos menos posibilidad de ataques.

Notas sobre la seguridad

No queremos terminar este artículo sin comentar algunos aspectos relacionados con este importante tema. Hay mucha desinformación sobre el tema de seguridad en cuanto a CMSs y en lo que respecta a software libre en general. Quizás hayas oído en ocasiones “WordPress no es seguro”, “instalar Joomla! es un suicidio” (por la seguridad), o “el software libre no es seguro”. Son barbaridades que se dicen sin pensar.

Partiendo de que ningún sistema es completamente seguro, por definición, esas afirmaciones serían extensibles a cualquier tipo de proyecto. Problemas de seguridad existen, aunque en el software libre, como se conoce el código, es más sencillo de detectar que en el software propietario, pero no por eso significa que sea más o menos seguro. El software libre tiene una gran comunidad detrás que ante cualquier problema de seguridad reacciona rápidamente publicando nuevas versiones que corrigen las vulnerabilidades. Por tanto, los desarrolladores o administradores de los proyectos son los responsables de mantener al día las instalaciones de los CMS para que siempre tengan las últimas versiones estables y seguras.

En este sentido, cualquiera de los proyectos que hemos señalado es perfectamente seguro, siempre que se tenga instalada la versión más nueva. Cualquiera de ellos, si dejas de actualizarlo, se vuelve una herramienta vulnerable y atacable por cualquier bandido que quiera explotar los fallos de seguridad conocidos en versiones anteriores. A la hora de valorar un proyecto hay que ver qué cantidad de actualizaciones publica y con ello veremos lo saludable que es.

Por tanto, siéntete en confianza al instalar cualquiera de estos CMS que tienen una comunidad fuerte que respalda su seguridad. Sólo cerciórate siempre de tener actualizado el sistema para evitar situaciones desagradables.

Miguel Angel Alvarez

Fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Com...

Manual