Las implicaciones de usar un CMS
Hace años que existen en el mercado diferentes sistemas CMS (Content Management System) cuya finalidad es la de facilitar la tarea de construir portales de internet y otro tipo de webs. Este tipo de herramienta permite la creación de una web en cuestión de horas pero como cabe esperar tiene sus inconvenientes.
A diferencia de lo que se cree comunmente sobre que un CMS te permite crear cualquier tipo de website, los CMSs son sistemas creados por grupos de personas para cubrir necesidades específicas. Esto quiere decir que un CMS concreto no es la solución ideal para cualquier proyecto web, de hecho esta debe ser una de las razones por las que hay cada vez más y en distintos lenguajes de programación.
Drupal, Joomla, Plone, PHP-Nuke, OpenCMS, WordPress y así hasta la saciedad. Creo que hay casi tantos CMS como equipos de desarrolladores web y esto es por una razón muy simple, porque es muy dificil que un CMS cubra las necesidades de tu proyecto a no ser que este proyecto coincida en un 98% con las características del CMS que has escogido. Esto nos lleva claramente a la conclusión de que al menos deberíamos de controlar 2 o 3 CMS para tener un abanico de posibilidades que cubra la mayoría de casos.
Claro que controlar un CMS no significa saber seguir las instrucciones del README o el INSTALL para instalarlo, bajarse un par de temas de internet, cambiarles dos colores y ya tenemos un super proyecto nuevo. No, controlar un CMS significa conocer las APIs, saber cómo se ha de crear un tema en concreto para él, saber como hacer plugins, etc. Esto quiere decir que tenemos que aprender un montón de cosas que luego vamos a tener que ir refrescando cada dos por tres a medida que el equipo que desarrolla el CMS que hayamos escogido va cambiando cosas, actualizando versiones, etc.
Desgraciadamente el problema no solo está en aprenderse todo lo anterior y luego seguir poniéndose al dia. En ocasiones te vas a encontrar que la nueva versión trae algún cambio importante que no es compatible para atrás con las anteriores versiones del CMS y te encuentras en la tesitura de que o metes horas extras para que tu proyecto siga funcionando al actualizar la versión del CMS o no actualizas a la nueva versión. ¿Quién se arriesga a no actualizar a la nueva versión? Teniendo en cuenta que las actualizaciones suelen traer importantes mejoras de seguridad creo que nadie se arriesga. Al estar online necesitas tener tu CMS bien parcheadito con todos los bugfixes de seguridad si no quieres encontrarte desagradables sorpresas.
Entonces llegamos a la conclusión de que tu has escogido usar un CMS porque en principio te permite ahorrarte un montón de horas de trabajo y porque se supone que para hacer un proyecto con él no necesitas un gurú del teclado y la red. Craso error porque si tu proyecto requiere alguna funcionalidad que no está pensada en el CMS o encuentras un plugin o vas a necesitar un experto en el CMS para ajustar esas diferencias. Lo mismo para poder hacer un buen look&feel personalizado, etc. De hecho cuantas porquerías de webs vemos a diario porque gente poco capacitada a dicho: “¡Corcholis! Si con el CMS este hago páginas como churros como el mejor”.
Creo que deberías plantearte si realmente te merece la pena invertir todas esas horas de tu tiempo para ahorcarte a la manera que le viene bien a otro porque eso es lo que estás haciendo en realidad. Invertir mucho tiempo para ahorcarte como quiere el grupo que desarrolla el CMS que hayas escogido. De hecho esta es otra razón por la que debe de haber tantos CMS, porque ya que te vas a ahorcar que sea a tu manera, ¿no?








Resulta que te empece a escribir un comentario, y como ya era casi tan largo como el articulo preferí poner la respuesta en nuestro blog, y al final lo hice un poco más larga aún, y es que cuando se tocan las fibras sensibles….
http://www.yafaonline.com/portal/joomla/joomla-noticias/cms-o-desarrollo-web-personalizado.html
Como pongo allí para mi lo importante es tener claro el proyecto al que te vas a enfrentar, y para proyectos pequeños no me parece adecuado afrontarlos desde desarrollos personalizados por el coste, y para proyectos de cualquier tamaño pueden ser desaconsejables porque haces al cliente dependiente de tu solución.
Pero tanto el desarrollo con CMS como el personalizado tienen su hueco en el mercado, y el producto final se va a ajustar a lo que necesita el cliente si los desarrolladores en ambos casos son profesionales.
Voy contestando tu post respuesta
Primero yo no estoy en contra de los CMS Open Source como parece indicar tu respuesta, de hecho este blog, utiliza uno. Segundo este post no está hecho desde la perspectiva del cliente o el usuario final sino desde la del desarrollador. Al cliente le interesa que su aplicación web haga lo que debe y lo haga rápido, bien y con la mejor relación calidad precio posible. Por lo tanto, dependiendo de sus necesidades, será mejor un blog en WP, un site en Drupal o algo totalmente diferente. Hay infinitas opciones de lenguajes, CMS, frameworks, etc.
Con respecto a lo que comentas de las actualizaciones, es cierto que todos deben actualizarse y arreglar los bugs. La diferencia es que si el equipo de desarrollo de un CMS decide que para mostrar enlaces en lugar de utilizar la función showLinks() se cambie, en la nueva versión, a displayLinks() tu vas a tener que cambiar todos esos showLinks() que funcionaban perfectamente a displayLinks() si quieres actualizarte. Si tienes que hacer eso o pierdes pasta tu, que lo dudo, o le cargas las horas de trabajo al cliente por lo que la pierde él.
En lo que se refiere a que si una solución personalizada encierra al cliente en tu plataforma eso es una barbaridad. Si quieres encerrar al cliente con poner una licencia no open source a tu trabajo es suficiente pero si tu desarrollo tiene una licencia open source es igual de fácil o difícil modificar algo hecho con un CMS que hecho sin el CMS. Si sabes, por ejemplo, PHP, ¿qué te impide modificar algo que se ha hecho con PHP?
Sinceramente creo que tu no es que no estés deacuerdo conmigo sino que has entendido mal este post. Me da la sensación de que lo has entendido como un ataque a los que utilizan un CMS en sus desarrollos cuando la intención es que los que precisamente utilizan casi exclusivamente un CMS se den cuenta de algunas implicaciones que no siempre saltan a la vista.
Tu tienes más experiencia que yo en el desarrollo web, sobre todo en soluciones personalizadas, así que sabrás mejor si para el cliente puede suponerle un amarre al equipo de desarrollo inicial, pero para desarrollos complejos no estoy tan seguro de que para un equipo de desarrollo nuevo le sea fácil continuar el desarrollo de otro, especialmente porque normalmente no tendrá ningún tipo de documentación.
Y como pequeña empresa de desarrollo web, en este momento no veo otra posibilidad que no sea la de utilizar diferentes CMS para el trabajo diario, para desarrollos personalizados hace falta equipos más especializados y normalmente más grandes.
Y si, de acuerdo en que no pude entender bien el matíz de tu articulo, es un problema que tiene a veces el lenguaje escrito, pero gracias a esto comentarios todo aclarado
Los equipos nuevos que tengan que meter mano a un desarrollo personalizado que utiliza un CMS tienen los mismos problemas porque normalmente habrá bastantes plugins o módulos a medida que muy probablemente no traigan documentación por lo que no te queda otra que leer código.
En cuanto a los tamaños de equipos de desarrollo todo depende del desarrollo. Si tu haces el sistema web de La Caixa necesitarás un equipo grande tanto si usas un CMS opensource como si no lo usas porque la envergadura del proyecto lo requiere así. De hecho las implicaciones que comento se hacen patentes cuanto más necesites personalizar el proyecto.
La verdad que he comprobado que usar un CMS no siempre es una buena solución, Cuando yo empezé a programar en php mi meta era crear un cms, pero transcurridos dos meses me llevé una gran desilusión al enterareme de los cms open sourse, ya que me quitaron el sueño de crear un poderoso cms que me permita tener algo propio y exclusivo que pueda usar en todos mis desarrollos web.
Así que cedí a la tendencia y empezé a usar Joomla y Wordpress. Pasado el tiempo algunos clientes me pedían que sus web site tengan caracteristicas especificas que los cms no tenían, asi que buscaba en internet open source que me permitan obtener el plugin que el cliente me pedia, pero no me gustaba la idea sw modificar el diseño y funcionalidades, porque se vuelve engorroso ya que tal open source esta creado por un desarrollador “X” que no conocemos.
Por ahora sigo trabajando con Cms open source, pero a la vez vengo programando uno en PHP, el cual usaré en futuros proyectos en proporción a su complejidad. Con el tiempo espero dejar los cms, y “pasearme” haciendo web sites con mi propio cms el cual entenderé muy bien.
Aún falta mucho para lograr por la comunidad mundial el CMS “soñado”, y mientras eso suceda, me parece que lo mejor es usar las herramientas de acuerdo a la exigencia del cliente, osea a veces cms, aveces desarrollo personalizado.
Como dejo caer en el post, la mayoría piensa como tu y es por eso que hay tantos CMS. Porque cada uno, al final, necesita el suyo que le permita hacer lo que necesita sin tener que estar “ahorcándose a la manera de otro”.
La verdad me recuerdas al pibe de anfraf http://www.anfraf.com.ar que opta por el uso de codigo nativo pero yo uso cms por que no puedo aprender php por falta economica la teoria la se pero llevarla a la practica no es tan simple.
creo quien disponga del tiempo dinero y ganas de trabajar puede modificar su cms a corde con sus necesidades el mas simple de todos es drupal wordpress. joomla pesa 10mb y programar un componete es una tarea dificil.
Este es un buen artículo que habla sobre los beneficios de usar un CMS sólido
http://www.sitepronews.com/archives/2009/jan/7.html
Veamos las ventajas que comenta el artículo:
1. No need to be a code junky. Cierto, si las características del CMS coinciden con las características del site que tienes que hacer no necesitas ser un experto programando. ¿Y si no? Pues o buscas otro CMS que coincida con lo que necesitas o necesitas un programador que te haga el site o que sea un experto en el CMS que quieres.
2. On-page SEO is built right in. Cierto según que CMS; los hay que sí y los hay que no pero la realidad es que sigues necesitando a alguien que sepa de SEO porque el CMS no te lo hace todo.
Los puntos 3,4 y 5 los tienes también si haces un site sin utilizar Drupal, Plone o lo que sea. Hoy en dia el 90% de los sites tienen una interfaz de administración para que cualquiera puda meter datos, desde cualquier máquina conectada a internet, y la información se guarda en una BDD.
6. Development costs are cheaper for open source content management systems. Esto es igual al punto 1. Si el CMS hace exactamente lo que necesitas es cierto que solo tienes que hacer el diseño gráfico y si no lo hace pues buscas otro que lo haga o alguien que programe.
Cuando vea un CMS genérico y open source que haga lo que necesites en cualquier circunstancia, no te cambie las dependencias y librerías( y por lo tanto el código personalizado que has hecho) cada vez que sale una nueva versión y un largo etc. de cosas, entonces yo seré el primero en recomendarlo. Mientras tanto sigo pensando y diciendo lo que ya he expresado en este post.
Lucio yo creo que los dos sabemos la conveniencia de usar un CMS, la única diferencia es que tu apuestas por tener un CMS desarrollado por ti mismo o tu equipo y yo por alguno libre, tu opinas que la opción que tu eliges es la mejor, y yo pienso que cada uno ha elegido la opción que mejores resultados le da en base a sus objetivos, necesidades y recursos.
Hombre, a estas alturas creo que ha quedado patente que yo de lo que hablo es de los CMS que hay por ahí para descargarte e instalar ya sean o no opensource, que los hay que no lo son aunque por eso mismo, tal vez, no se hable tanto de ellos.
Yo no digo que mi opción es mejor, yo digo que esos CMS funcionan si tus necesidades están cubiertas por ellos. Vamos, un ejemplo, este blog está puesto con WordPress. ¿Por qué no me he desarrollado una plataforma de Blog? Sencillo, porque el WordPress cubre al 100% mis necesidades. Si no las cubriera y no hubiera otro CMS que las cubriera simplemente me desarrollaría mi propia plataforma porque para mi es más rápido, sencillo y la controlo yo y no 20 tios que están repartidos entre Zimbawe, USA, Canada, etc.
Gracias a que hay gente que piensa como yo existen, por ejemplo, WordPress y Drupal. Si no para PHP seguiría existiendo PHPNuke y PostNuke
La verdad que a mi no me había quedado claro, porque parece que te refieres a los CMS en general en cuanto a la base del desarrollo de una web.
La cuestión es que con las decenas de buenas opciones de CMS que hay en el mercado cubre el 100% de las necesidades de una amplia mayoría.
Y es lo que comentaba antes que cada uno en base a sus necesidades, posibilidades y recursos toma el camino que creé que le beneficiará más, esta claro que si alguien tiene la posibilidad de desarrollar y mantener su propio CMS y cubre el 100% de sus necesidades será la mejor opción, sin lugar a dudas.
Y por cierto no le quitemos merito a los desarrolladores de phpnuke y postnuke que aunque no fueran perfectos para su época fueron una revolución
No no, nadie quita méritos a nadie, al contrario. Con respecto a que hay un abanico muy amplio por supuesto que si. Solo hay que ver la pequeña lista que he puesto en este post que en comparación con las posibilidades que hay es muy, muy pequeña.
La cuestión es que al final para tener controladas, digamos por ejemplo, 5 posibilidades diferentes lo más probable es que te salga mejor usar un framework y hacerte tú mismo el tema. De los frameworks ya hablaremos en otra ocasión
Hola con todos, yo soy una aprendiz en lo que respecta a CMS, y estoy buscando algunas opciones que uds. que tienen experiencia en el tema me puedan recomendar algunas opciones que se ajusten a mis necesidades, lo que deseo realizar es una tienda virtual
Bueno Saludos a todos…
Hola Grabiela, por experiencia propia yo te recomendaría joomla+virtuermart es un tamden muy completo y podrás montar cualquier cosa que se te ocurra.
Últimamente estoy oyendo hablar muy bien también de magento, parece bastante potente, pero la verdad que no lo he probado aún.
Suerte
Otra opción ampliamente utilizada, si solo necesitas una tienda online, es osCommerce, aunque a mi nunca me ha emocionado especialmente.
Hola como estan?
Estaba atentamente siguiendo el hilo de esta “discusion” y la verdad que me parecio muy interesante para gente como yo, que soy novato en el tema tener una idea un poco mas amplia y ver cual es la opinion de gente que la tiene mas clara.
Es bueno ver diferentes criterios, y es bueno ver los planteos desde diferentes perspectivas.
Particularmente comence a usar joomla hace poco tiempo. No mas de dos meses. Por ahora estoy en version pruebas, ja, o sea, estoy viendo que onda porque me falta mucho por aprender y no quiero largarme asi nomas. De todas maneras ya con lo que se me alcanzaria para animarme a ofrecer servicios de presencia web para micro pymes o pymes.
En cuanto a joomla me parece muy completo, potente, con sus bugs y defectos como todos supongo, pero esta bueno para comenzar.
Ayer justamente hablaba con un amigo y le decia de comenzar a “desarrollar” paginas con joomla, o sea, con lo que me da joomla, comenzar a ofrecer paginas webs, simples, sencillas, ya que para estos casos es una herramienta optima y autosuficiente.
Y casualmente mi amigo, que no conoce joomla y sus virtudes mas que por mis comentarios, se le presento el interrogante ¿y pero si te piden algo mas complejo que tengas que escribir codigo?… y le dije, si, bueno, hasta ahi llegamos. O sea, que quiero decir con esto que de los dos criterios de las personas que mas escribieron en este post son validos. Joomla es potente, elegante, eficaz, suficiente, pero para cierto rango de proyectos, de acuerdo a las necesidades del cliente; pero ya cuando se sobrepasa esa potencialidad es obvio que no hay nada mejor que programar uno mismo su propio cms (cosa que nunca hice y de lo que estoy a años luz).
Me rei mucho cuando lei “…De hecho cuantas porquerías de webs vemos a diario porque gente poco capacitada a dicho: “¡Corcholis! Si con el CMS este hago páginas como churros como el mejor”…” pero si, es verdad, quizas yo pecando de novato lo he dicho anteriormente pero es que tambien es esa una de las caracteristicas que pesan a la hora de la decision sobre que herramientas utilizar para hacer una web.
Yo nunca habia visto php, ni sabia nada sobre instalar o configurar un servidor, ni diseño web nada, y de un dia para el otro me largue a intentarlo todo con joomla, y claro como que no voy a pensar asi!!… ahh! honestidad brutal!
Muy bueno tu blog, Lucio y mis felicitaciones, tambien para Ruyman Gil (con tu permiso, lucio!) que estuve leyendo una contestacion a este post y por el cual llegue aqui!
Espero que sigan alimentando el conocimiento dia a dia y gracias por compartir sus conocimientos.
Hola Goyito, me alegro de que te guste el blog y que nuestras discusiones le sirvan a alguien aparte de a nosotros mismos
A ver si sigo alimentando como dices tu ya que últimamente ando super liado de cosas y no he tenido tiempo de escribir ni de publicar nada digno de ser publicado.
Gracias también Goyito por la parte que me toca.
Y si Lucio no esta sacando tiempo para el blog, yo ando siempre en negativo, a ver si terminamos de “implantarnos” en las nuevas oficinas de una vez