Es posible que multitud de veces te hayas hecho las siguientes preguntas cuando piensas en CMS y en Framework ¿Son lo mismo? ¿Existen diferencias entre ambos? ¿Cuándo utilizar uno u otro? ¿Qué ventajas y desventajas tiene cada uno?
¿Te gusta el mundo del desarrollo web y utilizas CMS o Framework a menudo? ¿No sabes cuál es la diferencia entre ambos o cuando debes de utilizar uno u otro?
En este artículo descubrirás estas diferencias y las ventajas y desventajas de cada uno para poder decidir cuándo usar uno u otro según la aplicación que vayas a desarrollar.
Vamos a empezar explicando rápidamente en qué consiste cada uno de ellos:
¿Qué es CMS (Content Management System)?
CMS (Content Management System o Sistema de gestión de contenidos) hace referencia al
software que permite la creación de una estructura de soporte (framework) para crear y administrar contenidos (generalmente páginas web) mediante los administradores y participantes.
Es una interfaz que puede controlar una o varias bases de datos en las que se encuentra el contenido del sitio web. Se puede administrar de forma independiente el contenido del diseño por lo que en cualquier momento es posible, con el mismo contenido, visualizarlo de forma distinta cambiando el estilo sin tener que cambiar el formato del contenido.
¿Qué es Framework?
Framework (Marco de trabajo) hace referencia en la informática a una estructura conceptual con un soporte definido que sirve de base para el desarrollo de software.
Puede tener soporte de programas y bibliotecas, además de otras herramientas para facilitar el desarrollo y la unión de las diferentes partes de un proyecto.
En resumen, una serie de
herramientas que nos permiten y facilitan el desarrollo de un programa, aplicación o página web.
Después de estas explicaciones quizá te haya surgido la duda de, en realidad, qué he estado utilizando anteriormente, ¿CMS o Framework?
Es fácil tener esta duda ya que, se puede considerar que un CMS forma parte de nuestro framework pero también que nuestro CMS contiene un framework.
Ejemplos de CMS y Frameworks
Existen muchas formas de
programar una página web, desde programar “a pelo” sin ningún gestor de contenidos y solamente utilizando un editor de textos hasta plataformas en las que visualmente vas colocando los elementos en la posición que deseas y adaptas el sitio a cómo te gustaría que quede casi sin necesidad de saber programación.
Sin embargo, el método o la práctica más habitual actualmente es el uso de CMS o de Frameworks.
Los
ejemplos más populares de CMS son
- Wordpress
- Prestashop
- Magento
- Joomla!
- Drupal
- Blogger
Los
frameworks son una abstracción donde el software que tiene una funcionalidad genérica puede ser modificado por nosotros para agregar características o funcionalidades propias. Generalmente, existen frameworks para distintos lenguajes de programación.
Ejemplos de frameworks son:
- PHP: Symfony, Laravel, Codeigniter
- Javascript: AngularJS, Backbone.js, Embed.js
- Ruby: Ruby on Rails
- Python: Django
Sobre Symfony podéis encontrar un articulo muy interesante de un compañero
aquí.
Hay una frase que es muy repetida:
“Wordpress es un framework PHP”
Es incorrecto. En realidad Wordpress es un CMS que está desarrollado mediante un framework.
¿CMS o Framework? ¿Qué elegir?
Hay ciertos puntos que debe de valorar a la hora de
elegir entre CMS o Framework para el desarrollo de su página web:
- ¿Qué cantidad de tiempo dispone para construir su página web?
- ¿Cuál es el objetivo de su sitio y como de flexible debe de ser?
- ¿Cuál es el presupuesto del que se dispone para su desarrollo?
- ¿Qué hosting o alojamiento va a utilizar?
Hay que tener en cuenta que, si se pretende utilizar un framework se debe de tener
conocimientos de programación, se debe de disponer de suficiente tiempo para su desarrollo y disponer de un buen presupuesto.
Por otro lado si utiliza un CMS apenas necesita conocimientos de programación (aunque nunca está de más), se puede realizar el sitio web con relativa rapidez y el presupuesto puede no ser tan elevado.
Por lo tanto, dependiendo del proyecto en el que nos vayamos a embarcar, se deberá de utilizar uno u otro.
Si por ejemplo, nuestro sitio simplemente es una página estática, un blog o en general un sitio donde no se tengan características muy concretas y especiales lo ideal es el uso de un CMS.
Por el contrario, si se requiere que la página tenga funcionalidades concretas, que sea un proyecto más personalizado y necesite de conocimientos de programación, se recomienda el uso de frameworks.
Ventajas y desventajas de CMS y Frameworks
Ventajas CMS
- Ya se dispone de la plataforma, solo hay que cambiar la plantilla (template) y la página ya estaría funcionando.
- El tiempo y los gastos para el desarrollo son inferiores.
- Existe una gran comunidad que contribuyen al soporte y mejora de CMS.
Desventajas CMS
- Hay que adaptarse a los módulos que existen en la plataforma.
- Puede ser que no se cumplan todos los requisitos que pide el cliente.
Ventajas Frameworks
- Tiene mayor flexibilidad a la hora del desarrollo.
- Tiene mayor fiabilidad.
- Se reducen los tiempos con respecto a si no se utilizara un framework.
Desventajas Frameworks
- Hay que desarrollar todos los módulos para poder personalizar los sitios ya que los que vienen por defecto son muy básicos.
Es habitual la utilización de ambos complementariamente ya que, en muchas ocasiones, bajo un CMS se utiliza la plataforma como base y posteriormente, mediante el uso de frameworks se personalizan los módulos deseados o se desarrollan módulos nuevos para nuestro sitio.
¡Se acabaron tus dudas!
Independientemente del sistema que utilices para crear y desarrollar tu página web, es importante tener conocimientos de programación ya que, aunque sean pequeños cambios, siempre es bueno
personalizar los módulos que utilizas en ella.
Por supuesto, siempre depende de sobre qué quieres construir tu página web, si solamente deseas una página en la que poner información estática (Por ejemplo, páginas de recetas o páginas de información sobre un tema concreto) o un blog personal, usando un CMS con sus módulos básicos tendrás más que suficiente.
Si lo que deseas es la construcción de un sitio profesional, con un alto grado de personalización (Por ejemplo tiendas online, empresas,…) lo ideal es el uso de frameworks (se puede complementar con el uso de CMS) en los que el desarrollador modifique los módulos necesarios o cree módulos propios que den respuesta a características concretas.
Si deseáis descubrir los pasos y una serie de consejos para crear una app, podéis echar un vistazo a un artículo escrito por mí sobre dicho tema. Lo podéis encontrar
aquí.