25 abril, 2010 5 min to read

Elegiendo un CMS adecuado

Category : Desarrollo Web

Este es el primero de una serie de artículos relacionados con la gestación y desarrollo de proyectos on-line, busco analizar algunos proyectos Web que considero exitosos, presentar experiencias personales y algunos tips que pueden apoyarte en el desarrollo de tu proyecto. Presumo además la existencia de un plan, una idea de proyecto y una idea para hacerlo rentable, pero eso no descarta que en artículos futuros toquemos estos temas.
En mi ambiente laboral en ocasiones escucho cosas como “ahora todo el mundo está aprendiendo Joomla”  ó “sí, si usas Joomla en tu proyecto seguro te va a salir bien”.  Mi concepto frente a esto es otro, 1° no moverse por la moda, porque la elección de un CMS es probablemente el pilar donde se asentará tu negocio o estrategia on-line, el elegir el CMS de moda no garantiza el éxito de tu proyecto, además, recuerda que este es únicamente el primer paso.
Algo es seguro, la mala elección de un framework puede enterrar un proyecto o hacerlo muy, muy costoso, pero su simple elección no dice nada, ten presente que si conoces un proyecto que eligió un CMS y tubo éxito, eso no garantiza que todo proyecto que use dicho framework también lo obtenga.
Lo que necesitas una visión del proyecto, un gerente de proyecto o alguien que esté al frente de todo, alguien que se haga responsable, “alguien que haga las cosas posibles”. Conocer un framework y tener claras las líneas de un proyecto si te acercarán al éxito, es decir utiliza un framework que conozcas o estés dispuesto a conocer, sin importar si está escrito en php, jsp, ruby, python o si se trata de .Net, CMS’s como DotNetNuke, Plone, WordPress, Typo3, Sitefinity, Joomla o Drupal, son simples herramientas que te apoyan a llegar a tu cometido es decir servir información/contenidos que permita ofrecer tus productos y/o servicios.
¿Como elegirlo tu CMS?
Esta es una gran pregunta, puedes optar por dejarle esta tarea a tu desarrollador Web o al profesional que contratas para el desarrollo de tu sitio, pero es tu deber informate.

PHP – FrameWorks y CMS

Las herramientas desarrolladas sobre php pueden llegar a ser más económicas y funcionales para proyectos simples,  aunque resultan apropiadas incluso para grandes proyectos, el total control de la plataforma es crucial para el éxito de estos, recuerda que proyectos como digg y facebook están desarrollados sobre php, pero sin el total control sobre el código y funcionalidades, nunca abrían conseguido su estado actual.
Lo que debes saber sobre cualquier aplicación PHP:
Funcionan mejor sobre Linux, Unix, y sistemas BSD. No importa lo que te quiera meter por los ojos los distribuidores intermedios y algunos “Analistas/Programadores” que trabajan con servidores Windows, lo hacen solo porque no saben administrar plataformas *nix ni sacar su máximo provecho.
Se pueden conseguir grandes cosas con este lenguaje de programación, pero si tienes un gran proyecto en mente y eres capaz de llevarlo a cabo, probablemente no necesites que te diga esto 🙂
Ten presente que un gestor de contenidos es simplemente la herramienta que gestionará los contenidos de la base de datos y los presentará en línea, lo que debes saber para elegir uno es que funciones adicionales debe cumplir para ti, así como que tipo de framework de trabajo necesitas y si esta herramienta lo cubre.
Analicemos algunos gestores de contenido escritos sobre PHP
phpNuke, es probablemente la primera herramienta de este tipo con que me topé alguna vez, pero sus plantillas eran “bastante feas” y no me pareció interesante, sin embargo marcó un hito muy importante, cada quien podía desarrollar un Web con extrema facilidad. Actualmente no es libre, pero su descarga es muy económica, su core aún lleva pesos del pasado, mucho del contenido se presenta sobre tablas en lugar de capas y se respeta muy poco la semántica.
WordPress, mi CMS predilecto, de código libre es bastante ligero y se mantiene simple pero extensible. Cualquier cosa puede ser realizada sobre WordPress si estás dispuesto a desarrollar el código para la funcionalidad que necesitas, porque a pesar de existir una inmensa cantidad de plugins, hacer algo como un directorio puede hacerse difícil si no sabes donde buscar y/o que código tocar, a pesar de esto es mi herramienta predilecta.
Drupal, tal vez no tan extendido como debería, es una muy completa y compacta herramienta, se presta para muchos tipos de proyectos, pero al igual que WordPress vas a requerir hacer tus propios desarrollo si no existen previamente, no es mi experiencia personal, pero he escuchado a compañeros decir que al trabajar con Drupal, puedes llegar a utilizar más tiempo que el debido para desarrollar un proyecto.
Joomla!, un CMS multiproposito, fácilmente extensible, fácil de administrar y extremadamente potente, su ventaja frente a cualquier otro es que encontrarás cientos miles de extensiones de terceros que muy probablemente resuelven eso que quieres hacer hoy, el detalle es que pueden estar basadas en librerías propias no nativas de Joomla que a la larga disminuyen el rendimiento,es decir, si no tienes cuidado puedes estar arrastrando un elefante sin necesidad.
Elgg, Aunque con Drupal y Joomla añadiendo algunos plugins/componentes adicionales tienes lo que se requiere para manejar una comunidad, esta es la herramienta perfecta para montar una red social, como ventaja, es libre.
Typo3, si tu objetivo es el desarrollo profesional de contenidos, no existe una mejor herramienta, su curva de aprendizaje es muy elevada y puede causar grandes traspiés, pero una vez asimilada la plataforma, comprenderás que no tiene rival.

Python – CMS

Plone, es el primer gestor de contenidos que conocí, así que he de reconocerlo, soy completamente parcial al hablar de este gestor, es impresionantemente completo, no tiene el exito que merece tal vez porque python no es un lenguaje muy extendido en servidores de hosting y lo es aún menos entre los desarrolladores Web. Como dato curioso vale resaltar que es utilizado frecuentemente como KMS (del inglés Knowledge Management System, en español Sistema de Gestión de Conocimiento).
Django, framework que permite el rápido desarrollo de aplicaciones Web.
Pylucid, CMS basado en Django.

CMS desarrollados sobre JSP

Definitivamente este no es mi fuerte, lo poco que conozco de jsp es gracias a que trabajé en el centro de desarrollo de software en algún proyecto que optaron por desarrollar en jsp, yo solo hice los modelos. Algunos eligen este tipo de CMS porque es algo muy corporativo, la verdad es que si el proyecto se instalará sobre servidores de la empresa y ya existe toda una cultura sobre el lenguaje y/o aplicaciones desarrolladas sobre el lenguaje, lo mejor es seguir la línea, así no requerirás profesionales dispersos.
.NET, una interesante opción, si cuentas con profesionales expertos (o interesados) funcionará sobre un servidor Windosw o sobre un servidor Linux con mod_mono, DotNetNuke ó mojoportal son interesantes opciones.