En internet hay mucha confusión en cuanto a estos 2 términos. Seguro que muchos de vosotros habréis oído estas dos palabras más de una vez. En el artículo de hoy os voy a resumir cuáles son las diferencias entre estos dos términos, de manera que lo podáis entender. Ambos se parecen mucho, pero la finalidad de ambos son muy diferentes. Todo bajo mi punto de vista 🙂
¿Qué es un C.M.S (Content Manager System)?
La finalidad y gestión de un CMS suele ser en general mucho más simple y fácil; Crear páginas web, foros, blogs, páginas simples corporativas, tiendas Online, etc. etc. etc. Se podría decir que un CMS es un sistema para montar páginas web de una manera simple, sin saber nada de programación. Los CMS son una especie de sistema PREFABRICADO (o mejor dicho PRE-PROGRAMADO), para que un usuario sin ninguna experiencia, pueda montarse el mismo una página web sin excesivos problemas. El CMS también es un sistema BASE en el cual, a base de instalar MÓDULOS o PLUGINS añadidos, puedes ampliar su funcionalidad. ¡Para entender esto os voy a poner un ejemplo claro! En un CMS base como por ejemplo WordPress, por defecto solo se pueden hacer cosas muy simples, como usarlo para publicar noticias como si de un BLOG se tratara, poner una página de contacto para que los clientes te envíen emails y pocas cosas más. ¿Pero qué pasa si yo quiero convertir mi web en un lugar donde poder hacer cursos de informática de pago? Y que los clientes me puedan pagar con tarjeta de crédito Pues para convertir mi web en un sistema de cursos de informática, simplemente tendría que instalar un nuevo plugin de cursos de informática y luego aprender a configurarlo y utilizarlo.
Este módulo puede que exista de manera gratuita, o puede que alguna empresa lo haya desarrollado y cobre un dinero para que tú puedas utilizar. (o sea plugins de pago, hay un mercado inmenso de plugins de pago, para hacer absolutamente de todo, pero también los hay muchísimos gratuitos).
Otro ejemplo; Yo solo ser usar WordPress y quiero convertir mi página web en una tienda online. Para eso existe un módulo o plug-in gratuito, que si lo instalas dentro de tu WordPress, automáticamente conviertes tu web en una tienda online (El plugin se llama WooCommerce y es totalmente gratuito).
Es decir, que a base de módulos puedes convertir tu web en lo que te dé la gana. Instalas un plugin para hacer una cosa u otra. Esto básicamente es un CMS.
¿Qué es un Framework (Marco de trabajo)?
Para usar un Framework es necesario tener ciertos conocimientos en programación (hay frameworks para diferentes lenguajes de programación) y su uso está orientado siempre a cosas o fines muy específicos (Páginas como Twitter han sido creadas con frameworks).
Así como un CMS tiene ya sus propios módulos internos preinstalados (blog, comentarios, contacto, páginas estáticas, etc.) y esos tienen unas características fijas y estáticas en general poco personalizables, Frameworks son una serie o conjunto de herramientas que nos ayudarán a crear una plataforma propia totalmente personal. ¿Qué significa esto? Que con un framework nosotros podremos crear y personalizar los módulos que necesitemos según nuestras necesidades, de una manera totalmente personalizada para darle una función o utilidad o estética que nos dé la gana. Un usuario sin conocimientos de programación es imposible que pueda usar un framework, en cambio, si un usuario sabe programar, sabrá usar o aprenderá a usar un framework casi de manera intuitiva.
Los frameworks no están ligados a un lenguaje de programación en concreto, aunque cierto es que hay algunos frameworks como ’Ruby on Rails’ (Ruby es el lenguaje y Rails es el framework ) que ya muchas empresas están adoptando como plataforma oficial para crear todo tipo de páginas y aplicaciones web a nivel profesional.
Hablar sobre esto, nos daría para una serie de largos artículos y además que yo no sería la persona más indicada para profundizar en esto 🙂
Cuando usar un CMS o un Framework
El 90% del mundo (hablando a nivel hogar) deberíamos utilizar CMS, pero si tu empresa, web o aplicación, requiere de algunas características muy especiales, entonces sin dudarlo habrá que emplear un framework.
La mayoría de las empresas profesionales utilizan frameworks estandarizados como ruby on rails, pero decir que también hay otros frameworks para otros lenguajes de programación existentes,,, Muchos suelen crearse ellos mismos su propio framework.
Los Pros y los contras
CSM pros
- No se necesita saber programar, aunque tener conocimientos de html y php ayuda mucho.
- Una curva de aprendizaje rápida y en general fácil.
-
Plataforma terminada, instalar, cambiar el theme y a funcionar.
- Funcionalidades añadidas a base de plugins.
-
El coste y el tiempo de desarrollo y personalización es mucho menor.
-
Una enorme comunidad de desarrollo detrás de cada CMS; Programadores que contribuyen gratis o cobrando.
CMS contras
-
No cubren las necesidades de determinados clientes, los cuales requieren de cosas muy específicas.
- Los añadidos o plugins existentes, no siempre cubren las necesidades que hay.
- Existen plugins de pago que cubren muchas necesidades (esto no es necesariamente malo, al contrario, según se mire)
Frameworks pros
-
Flexibilidad total en el desarrollo web y aplicaciones, te permite hacer cualquier cosa que necesites, sea lo que sea, siempre que sepas programar, claro está.
-
Reducción de tiempos en comparación a si se programara sin framework.
Frameworks contras
- Existen módulos ya programados, pero son superbásicos.
- Tienes que saber programar, no es para todo el mundo.
-
Hay que desarrollar todos los módulos uno a uno, hasta los más básicos.