Está en la página 1de 5

Que no te confundan: un Framework no es un CMS Y podríamos estar así bastante rato, pues éstas preguntas

desembocarán en otras, y siempre vamos a estar en duda en ese


¿Qué es un Framework? momento difícil de «Tengo que elegir bien«.

Según la Wikipedia (vendita seas): Cuando nos disponemos a crear nuestro proyecto, la pregunta
La palabra inglesa “framework” (marco de trabajo) define, en principal que nos viene a la cabeza es ¿lo hago desde cero, o
términos generales, un conjunto estandarizado de conceptos, partiendo de una base sólida?
prácticas y criterios para enfocar un tipo de problemática particular
que sirve como referencia, para enfrentar y resolver nuevos Quiero decir, antes de empezar, que a la hora de elegir, ninguna
problemas de índole similar. opción es mejor que la otra, sino que independientemente de la que
En el desarrollo de software, un framework o infraestructura digital, elijamos siempre habrá ventajas e inconvenientes.
es una estructura conceptual y tecnológica de soporte definido,
normalmente con artefactos o módulos de software concretos, que Hablemos de los CMS…
puede servir de base para la organización y desarrollo de software.
Típicamente, puede incluir soporte de programas, bibliotecas, y un Los CMS (Sistema de Administración de Contenidos), se han
lenguaje interpretado, entre otras herramientas, para así ayudar a expandido muy rápidamente por el mundo virtual, pues con un par
desarrollar y unir los diferentes componentes de un proyecto. de clicks tenemos instalado en nuestro sitio de alojamiento (Hosting)
Resumiendo: un conjunto de herramientas para desarrollar algo en una gran base y estructura de código, a nivel de base de datos, de
concreto. Así pues, todos los trabajos del mundo tienen sus propios archivos y privilegios, entre muchas más características. Ésta es la
frameworks ya que el concepto es aplicable no solo en la ingeniería mayor ventaja de la que podemos disponer a la hora de elegir como
de software. base de nuestro proyecto la instalación de un CMS.

¿Qué es un CMS? Por poner un ejemplo, digamos que para crear nuestro propio blog,
con una instalación de WordPress lo tendremos listo en cuestión de
Continuando con la Wiki: minutos. También podemos sacar una ventaja muy buena de usar
Sistema de gestión de contenidos, en inglés: Content Management CMS: la gran comunidad que tiene cada uno de ellos detrás, por
System más conocido por sus siglas CMS, es un programa informático gente que desarrolla a su vez componentes, módulos y plugins para
que permite crear una estructura de soporte (framework) para la sus respectivos CMS.
creación y administración de contenidos, principalmente en páginas
web, por parte de los administradores, editores, participantes y Hay que tener en cuenta que cada uno de ellos tiene sus diferencias
demás usuarios. y, por lo tanto, a la hora de construir un sitio, nos llevará más o
Consiste en una interfaz que controla una o varias bases de datos menos tiempo cubrir dichos requerimientos.
donde se aloja el contenido del sitio web. El sistema permite manejar
de manera independiente el contenido y el diseño. Así, es posible Sin muchos conocimientos de programación y maquetación
manejar el contenido y darle en cualquier momento un diseño podremos administrar un sitio de la forma mas fácil posible, como
distinto al sitio web sin tener que darle formato al contenido de ejemplo una administración de un blog bajo el CMS de WordPress. En
nuevo, además de permitir la fácil y controlada publicación en el sitio caso de querer desarrollar nuestro propio componente, módulo o
a varios editores. Un ejemplo clásico es el de editores que cargan el plugins, la curvatura de aprendizaje es muy elevada, ya que es muy
contenido al sistema y otro de nivel superior (moderador o fácil.
administrador) que permite que estos contenidos sean visibles a todo
el público (los aprueba). Como desventaja podemos destacar que al instalar un CMS vendrá
Es ahora querido lector cuando al terminar de leer has pensado que con muchos componentes y módulos instalados por defecto. Esto
eso que tú siempre has llamado framework es en realidad CMS y quiere decir que habrá que hacer una optimización al sitio para que
viceversa, ¿correcto?. Dejame decirte algo, sí y no. funcione de una manera eficiente y no resulte muy pesada ni lenta en
En realidad es fácil la confusión puesto que podríamos considerar un la carga en navegadores.
CMS como parte de nuestro framework y podríamos considerar que
nuestro CMS contiene un framework en sí mismo así que la variedad Hablamemos de los Framework…
de opciones hacen que el concepto se rompa del todo y la confusión
llene las calles de indiferencia entre técnicos y no-técnicos del sector. Antes de empezar, definiremos como Framework a una estructura de
La conclusión de la reflexión no deja de ser un tanto escasa, y es que código que, mediante librerías, funciones o módulos, nos facilita la
la solución a esta “diferencia” pasa por educar desde el personal tarea de desarrollar un proyecto web. Ojo, esto no quiere decir, que
técnico a la hora de explicar los términos, ni más ni menos. pulse un botón y ya esté todo listo. A diferencia de los CMS, se
Finalizo esta pincelada con una frase que he oído millones de veces y requiren más conocimientos de programación. Podemos encontrar
la explicación sobre la frase que a más de uno espero que se le grabe varios Frameworks como posibles lenguajes de programación:
en la mente:
Wordpress es un framework PHP. PHP: Laravel, Symfony2, Codeigniter, CakePHP,…
Realmente no. Wordpress es un CMS desarrollado con un Python: Django
Framework. Ruby: Ruby On Rails
Javascript: Embed.js, Backbone.js, AngularJS,…
¿Elegir hacer mi proyecto con CMS o FRAMEWORK?
Como ventajas destaco su adaptabilidad y escalabilidad a todo tipo
Este artículo es para todas aquellas personas que quieren empezar o de proyectos, desde un proyectos más simple a otros de complejidad
están pensando en desarrollar su proyecto Web. Seguramente máxima. Partimos de una estructura de cero, por lo cual, a lo largo
tengáis en la cabeza las siguientes preguntas: del tiempo podremos adaptar nuestro proyecto a las necesidades
que queramos y afinar al máximo su efectividad optimizándolo. Al
– ¿CMS o Framework? igual que los CMS, cuentan con una gran comunidad detrás de ellos
– Vale, CMS. ¿Wordpress, Joomla, Drupal? que facilita mucho la tarea en el desarrollo e implementación de
– Vale, Framework. ¿En qué lenguaje?, ¿Ruby On Rails, Python, PHP, nuestros proyectos.
Javascript,…?
En el lado de las desventajas, dependiendo de un Framework u otro, los desarrolladores puedan tener estructurada de una manera
sea cual sea el que elijamos, nos llevará un tiempo de aprendizaje estándar la información que manejan (código fuente, librerías,
menor o mayor, pues deberemos de aprender a cómo implementar ficheros, configuraciones, etc.).
todas sus APIs, funciones, etc, de la forma más correcta posible. Por
lo tanto, como dije anteriormente, necesitamos de antemano Los frameworks pueden estar asociados o no a un lenguaje de
conocimientos de programación. programación. Destacan, entre otros muchos: Symfony, Ruby on Rails
o Zend.
Conclusión
En este caso las ventajas son claras. Al estandarizarse la organización
Deberemos decantarnos por una opción u otra, dependiendo de del código, resulta mucho más sencilla la realización de trabajos
varios factores como son el tiempo que tenemos para aprender, la colaborativos en la que varios programadores tengan que trabajar
escalabilidad del proyecto, la finalidad del mismo, etc… sobre el mismo código. Es habitual tener que hacer modificaciones
sobre desarrollos realizados por otros programadores o incluso sobre
Os quiero dejar el siguiente enlace de W3Techs, en el que podréis ver código propio creado hace ya tiempo, por lo que resulta de vital
los usos de los diferentes tipos de tecnologías usadas en la web. importancia tener todo bien organizado para identificar de forma
rápida dónde se encuentra cada uno de los recursos.
¿QUÉ ES UN CMS? ¿Y UN FRAMEWORK?
Además es fácil encontrar herramientas para un framework que
Aprender el idioma básico del equipo de desarrollo es fundamental. ayuden a implementar una determinada función.
En más de ocasión habrás oído a los programadores que te rodean
decir que una página web está hecha con un determinado CMS o que Por tanto, las aplicaciones realizadas con framework permiten un
han decidido implementar el siguiente desarrollo con un framework mayor desarrollo a medida, y a pesar de que la curva de aprendizaje
en concreto. Incluso has podido escucharles debatir si van a utilizar es también mayor, a largo plazo facilita el mantenimiento del código.
una u otra tecnología a la hora de analizar un proyecto, pero ¿sabes
realmente a qué se están refiriendo con estos términos? Espero que esta breve explicación te haya ayudado a aclarar algunos
conceptos, ¿o seguirás mirando raro a los programadores cuando les
Voy a intentar explicar qué son y cuáles son sus principales oigas hablar sobre este tema?
diferencias…
CMS VS. FRAMEWORKS, ¿CUÁL ES LA DIFERENCIA?
EL LENGUAJE DE LOS DESARROLLADORES WEB
CMS, GESTOR DE CONTENIDOS Actualmente la mayoría de los esfuerzos de comunicación de
empresas y marcas se realiza a través de medios digitales, siendo las
Un CMS es un sistema de gestión de contenidos (Content páginas web su principal escaparate. Pero ¿qué hay detrás de cada
Management System), dicho de otro modo, es un programa creado una?¿Cómo sucede lo que vemos cada vez que abrimos el navegador
para que un usuario pueda administrar y generar de forma sencilla el y tecleamos un dirección web? Alejandro Sánchez, nuestro
contenido de su página web sin necesidad de conocimientos muy desarrollador web senior, nos cuenta un poco más al respecto.
especializados.
¿CMS o frameworks?
Existen multitud de CMS que dan soporte a los distintos tipos de Existen diferentes maneras de programar un sitio de internet, sin
webs como pueden ser tiendas online, blogs o páginas corporativas, embargo, hoy en día una de las prácticas más comunes es el uso de
por ejemplo. Entre los más destacados se encuentran WordPress, CMS o de los llamados frameworks. CMS o content management
Drupal, Joomla o Prestashop system es un software diseñado para ayudarte a administrar el
contenido de una página web. Los ejemplos más populares son
Sus principales ventajas son: Wordpress, Blogger, Joomla!, Prestashop, Drupal y Magento.

Sencillez que ofrecen a los usuarios finales para gestionar sus propios
contenidos. Por otro lado, cuando hablamos de frameworks nos referimos a una
Gran cantidad de funcionalidades existentes en forma de módulos abstracción en la que el software que provee una funcionalidad
que pueden añadirse a lo largo de un proyecto para dar soporte a genérica se puede modificar agregando tu propio código. Esto es
una determinada necesidad. mucho más especializado y resultaría complicado de utilizar si no se
Continuas actualizaciones en materia de seguridad. tiene un contexto de programación a diferencia del CMS, que puede
Además son personalizables, permitiendo a los programadores ser utilizado por cualquiera.
desarrollar sus funcionalidades propias, facilitando una mayor
adaptación a las necesidades concretas del proyecto.
Según nuestro desarrollador, “CMS para mí es una plataforma que
Como desventajas, mencionar que a pesar de esta adaptabilidad que contiene los módulos más comunes (preinstalados) que una página
permite, en algunas ocasiones puede no resultar demasiado flexible a puede necesitar o requerir. En este caso son módulos como entradas
la hora de desarrollar tu propio código tal y como deseas, siendo de blog, comentarios y páginas estáticas. Frameworks es un conjunto
necesario mantener la estructura del CMS. de herramientas que nos ayudarán para crear nuestra propia
plataforma.”
Estos sistemas también requieren una atención continua de
mantenimiento y actualización de sus componentes y el código ¿Cuándo usar cada uno?
fuente generado está menos optimizado. Si sólo se necesita un sitio web con páginas estáticas o un blog, Alex
recomienda un CMS, pero si la plataforma requiere de características
FRAMEWORK, DESARROLLO DE APPS muy especiales. entonces convendría framework. Ahí, “nosotros
creamos los módulos con los elementos que nos ayudarán a crear la
Por su parte, un framework, definiéndolo de forma genérica y página.”
minimalista, es un esquema a seguir en el desarrollo de una
aplicación o proyecto. Dicho de otro modo, es un patrón que nos Pros y contras
indica la forma en la que se debe organizar el código, de forma que CSM pros
Framework (Marco de trabajo) hace referencia en la informática a
 La plataforma ya está hecha, sólo se debe cambiar el templete y una estructura conceptual con un soporte definido que sirve de base
el sitio ya está funcionando. para el desarrollo de software.
 Los costos y tiempos de desarrollo son menores.
 Gran comunidad detrás de CMS; muchos programadores que Puede tener soporte de programas y bibliotecas, además de otras
están contribuyendo. herramientas para facilitar el desarrollo y la unión de las diferentes
partes de un proyecto.
Contras
En resumen, una serie de herramientas que nos permiten y facilitan
 Hay que adaptarse a los módulos disponibles. el desarrollo de un programa, aplicación o página web.
 No siempre cubre las necesidades específicas del cliente.
Después de estas explicaciones quizá te haya surgido la duda de, en
realidad, qué he estado utilizando anteriormente, ¿CMS o
Frameworks pros Framework?

 Flexibilidad en el desarrollo web. Es fácil tener esta duda ya que, se puede considerar que un CMS
 Fiabilidad. forma parte de nuestro framework pero también que nuestro CMS
contiene un framework.
Reducción de tiempos a comparación de que no se hiciera con un
framework. Ejemplos de CMS y Frameworks
Existen muchas formas de programar una página web, desde
Contras programar “a pelo” sin ningún gestor de contenidos y solamente
utilizando un editor de textos hasta plataformas en las que
 Desarrollo de todos los módulos; los que hay son muy básicos. 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
 Existen diversas ventajas y desventajas (por llamarlo de alguna saber programación.
manera) al utilizar estas dos “herramientas”, pero lo cierto es
que cada una cumple con funciones distintas. Se usan también Sin embargo, el método o la práctica más habitual actualmente es el
para propósitos específicos y ya depende del diseño y de la uso de CMS o de Frameworks.
experiencia del usuario que se pretende a ofrecer para elegir
entre uno y otro. Los ejemplos más populares de CMS son

 WordPress
CMS vs Framework. Diferencias, ventajas y desventajas.  Prestashop
 Magento
Es posible que multitud de veces te hayas hecho las siguientes  Joomla!
preguntas cuando piensas en CMS y en Framework ¿Son lo mismo?  Drupal
¿Existen diferencias entre ambos? ¿Cuándo utilizar uno u otro? ¿Qué  Blogger
ventajas y desventajas tiene cada uno?

¿Te gusta el mundo del desarrollo web y utilizas CMS o Framework a Los frameworks son una abstracción donde el software que tiene una
menudo? ¿No sabes cuál es la diferencia entre ambos o cuando funcionalidad genérica puede ser modificado por nosotros para
debes de utilizar uno u otro? agregar características o funcionalidades propias. Generalmente,
existen frameworks para distintos lenguajes de programación.
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 Ejemplos de frameworks son:
según la aplicación que vayas a desarrollar.
 PHP: Symfony, Laravel, Codeigniter
Desarrollo web  Javascript: AngularJS, Backbone.js, Embed.js
 Ruby: Ruby on Rails
Vamos a empezar explicando rápidamente en qué consiste cada uno  Python: Django
de ellos:  Sobre Symfony podéis encontrar un articulo muy interesante de
un compañero aquí.
¿Qué es CMS (Content Management System)?
Hay una frase que es muy repetida:
CMS (Content Management System o Sistema de gestión de
contenidos) hace referencia al software que permite la creación de “Wordpress es un framework PHP”
una estructura de soporte (framework) para crear y administrar
contenidos (generalmente páginas web) mediante los Es incorrecto. En realidad WordPress es un CMS que está
administradores y participantes. desarrollado mediante un framework.

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
¿CMS o Framework? ¿Qué elegir?
cualquier momento es posible, con el mismo contenido, visualizarlo
de forma distinta cambiando el estilo sin tener que cambiar el
Hay ciertos puntos que debe de valorar a la hora de elegir entre CMS
formato del contenido.
o Framework para el desarrollo de su página web:

¿Qué es Framework? ¿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? Si lo que deseas es la construcción de un sitio profesional, con un alto
¿Qué hosting o alojamiento va a utilizar? grado de personalización (Por ejemplo tiendas online, empresas,…) lo
ideal es el uso de frameworks (se puede complementar con el uso de
Hay que tener en cuenta que, si se pretende utilizar un framework se CMS) en los que el desarrollador modifique los módulos necesarios o
debe de tener conocimientos de programación, se debe de disponer cree módulos propios que den respuesta a características concretas.
de suficiente tiempo para su desarrollo y disponer de un buen
presupuesto. 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
Por otro lado si utiliza un CMS apenas necesita conocimientos de tema. Lo podéis encontrar aquí.
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.
CMS vs Desarrollo a medida usando Framework
Por lo tanto, dependiendo del proyecto en el que nos vayamos a
embarcar, se deberá de utilizar uno u otro. En tanta_ nos estamos replanteando con que herramientas vamos a
hacer el desarrollo del software. Nos estamos dando cuenta que
Si por ejemplo, nuestro sitio simplemente es una página estática, un estamos haciendo un uso intensivo de los gestores de contenido, que
blog o en general un sitio donde no se tengan características muy en unos casos nos aportan ventajas, pero que utilizados para todos
concretas y especiales lo ideal es el uso de un CMS. los proyectos estamos perdiendo las ventajas de poder utilizar
frameworks que implementan buenas prácticas en el desarrollo del
Por el contrario, si se requiere que la página tenga funcionalidades software, que la mayoría de los CMS que estamos utilizando no nos
concretas, que sea un proyecto más personalizado y necesite de permiten aprovecharnos de ellas.
conocimientos de programación, se recomienda el uso de
frameworks. En desarrollo web es muy frecuente utilizar un CMS por la facilidad
que nos brinda posteriormente el administrador para la creación de
Ventajas y desventajas de CMS y Frameworks contenidos, y muchos de los portales más importantes se basan en
los gestores de contenido (CMS). Pero también hay webs que no
Ventajas CMS tienen por qué estar basados en un CMS.

Ya se dispone de la plataforma, solo hay que cambiar la plantilla Un CMS tiene muchas ventajas porque al estar orientado al
(template) y la página ya estaría funcionando. desarrollo web tiene ya implementadas muchas de las
El tiempo y los gastos para el desarrollo son inferiores. funcionalidades más comunes de una web, como por ejemplo SEO,
Existe una gran comunidad que contribuyen al soporte y mejora de Sitemap, etc. Para que podamos implementarlas fácilmente, lo que
CMS. nos lleva, sobre todo al principio, a un coste de desarrollo menor
porque ya está desarrollado.
Desventajas CMS
Aparte de ventajas los gestores de contenido también tienen
Hay que adaptarse a los módulos que existen en la plataforma. desventajas. Ya partimos del código propio del CMS, que tiene una
Puede ser que no se cumplan todos los requisitos que pide el cliente. determinada estructura, que debemos de respetar y seguir, si no las
seguimos estamos creando un híbrido inmanejable, estaremos
Ventajas Frameworks desaprovechando las ventajas del CMS. Puede ser porque realmente
no debíamos haber utilizado un CMS, o lo desconocemos y no
Tiene mayor flexibilidad a la hora del desarrollo. sabemos cómo utilizarlo, y lo que hacemos es saltárnoslo. Luego será
Tiene mayor fiabilidad. muy difícil de mantener, porque los que tengan que mantenerlo
Se reducen los tiempos con respecto a si no se utilizara un primero buscaran la forma estándar de desarrollarlo y no la
framework. encontrarán.

Desventajas Frameworks El modelo de datos de los gestores de contenido es genérico porque


se puede guardar cualquier tipo de contenido, por lo que ya no
Hay que desarrollar todos los módulos para poder personalizar los pueden estar tan optimizado su diseño como si fuera para un
sitios ya que los que vienen por defecto son muy básicos. desarrollo determinado.

Es habitual la utilización de ambos complementariamente ya que, en Muchas veces lo que suele pasar es que están preparados para un
muchas ocasiones, bajo un CMS se utiliza la plataforma como base y montón de posibles funcionalidades. Por ejemplo suelen guardar un
posteriormente, mediante el uso de frameworks se personalizan los historial del contenido introducido en el CMS por si en algún
módulos deseados o se desarrollan módulos nuevos para nuestro momento queremos recuperar contenido anterior. Son
sitio. funcionalidades bastante potentes pero generalmente no se suelen
utilizar, y lo que muchas veces ocurre con esto es que las consultas
contra el CMS sean muy pesadas. En la mayoría se puede configurar
¡Se acabaron tus dudas!
este historial para quitarlo o dejarlo para un número determinado de
versiones, pero muchas veces no se hace por desconocimiento o falta
Independientemente del sistema que utilices para crear y desarrollar
de tiempo, otras veces es que realmente no se quiere guardar el
tu página web, es importante tener conocimientos de programación
historial pero entonces también puede ser que realmente no
ya que, aunque sean pequeños cambios, siempre es bueno
necesitamos un CMS.
personalizar los módulos que utilizas en ella.
También tenemos que estar pendientes de hacer el mantenimiento
Por supuesto, siempre depende de sobre qué quieres construir tu
de las actualizaciones por razones de seguridad, como hay sobre una
página web, si solamente deseas una página en la que poner
docena de CMS más conocidos pues son más propensos a ataques,
información estática (Por ejemplo, páginas de recetas o páginas de
propiamente porque son conocidos y pueden intentar explotar sus
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.
vulnerabilidades y por el hecho de que pueden atacar más sitios al desarrollo de software actuales nos orientan a seguir unas buenas
estar su uso muy extendido. prácticas entre las que se encuentran el desarrollo de arquitecturas
multicapas.
En un proyecto web en el que vemos que no se van a estar
cambiando constantemente los contenidos, no deberíamos de Ventajas de arquitectura multicapas con bajo acoplamiento.
utilizar un CMS, sería mejor utilizar un desarrollo a medida que tiene
las siguientes ventajas: La arquitectura multicapa con bajo acoplamiento lo que permite
entre otras cosas es tener a varios perfiles trabajando sobre un
Como es a medida, nosotros podemos elegir con que lo vamos a mismo proyecto y que puedan colaborar y tener menos
desarrollar y podemos utilizar una tecnología y un framework que dependencias unos de otros. Esto se logra en mayor o menor medida
nos venga mejor para lo que vamos a desarrollar. cuando estas capas tienen un nivel de acoplamiento bajo entre ellas.
Así a mayor acoplamiento más dependencias unas de otras y nos
Suele ser menos pesado y estar más optimizado (siempre que lleva a que no podamos separar claramente por ejemplo las tareas de
sigamos unos mínimos patrones) porque tenemos menos back de las de front, lo que nos lleva a no poder dividir el trabajo
dependencias y menos “código sucio” generado por el CMS. claramente y tener que hacerlo al mismo tiempo.

Si hacemos un desarrollo a medida tampoco debemos de ir Además tendremos problemas de reutilización si la vista está
totalmente por libre y debemos seguir unos patrones en el acoplada al back, no podremos cambiarle el front por otro
desarrollo, siguiendo buenas prácticas y no intentando reinventar la fácilmente, porque tiene muchas dependencias, y luego nos será muy
rueda, por ejemplo ya no se debe de hacer consultas directamente difícil buscar todas esas dependencias para poder cambiarle a ese
contra la base de datos se debería de utilizar un ORM. back la vista. Al igual pasa con la vista, si esta acoplada al back, será
ya muy difícil de utilizarla en otros proyectos porque ya tendrá
Ventajas de utilizar un ORM. dependencias de ese back.

Las bases de datos son relacionales, actualmente todos los lenguajes También ocurre que a mayor acoplamiento un cambio produce un
de programación están orientados a objetos, aunque algunos CMS efecto dómino de cambios en todos los módulos.
como por ejemplo WordPress o Drupal todavía están orientados a
procedimientos. Para acceder de forma efectiva a la base de datos También implica que los módulos son más difíciles de probar, por
desde un contexto orientado a objetos, es necesaria una interfaz que ejemplo si para probarlo necesitamos utilizar el front.
traduzca la lógica de los objetos a la lógica relacional y viceversa.
Algunos de los gestores de contenido más populares como
Al utilizar un ORM como es algo estándar ya está implementada por WordPress y Drupal no están orientados al desarrollo multicapa,
otros la seguridad, y ya nos podemos olvidar de cosas como Sql tienen una aparente rapidez del desarrollo porque su comunidad está
Inyection, etc. muy extendida y nos pueden solucionar muchos problemas, pero a la
larga en su desarrollo no tendremos las ventajas del desarrollo
Si hacemos consultas directamente contra la base de datos multicapas con bajo acoplamiento.
dependemos del tipo de base de datos y por eso debemos utilizar un
lenguaje que corresponda con la base de datos al escribir las En general no es una buena práctica elegir herramientas de software
consultas SQL. para el desarrollo de un proyecto porque es una tecnología con la
que estamos cómodos, hay que elegir las herramientas que mejor se
Esto es algo importante a considerar ya que cuando se crean adaptan al proyecto que vamos a desarrollar, es decir no tenemos
elementos de acceso a los datos. Si se cambia a otro sistema gestor que ser dependientes de estas tecnologías, hay que utilizarlas las
de bases de datos, es necesario reescribir parte de las consultas SQL herramientas software como un medio para lo que queremos hacer.
que se definieron para el sistema anterior. Si se crean las consultas
mediante una sintaxis independiente de la base de datos y un
componente externo se encarga de traducirlas al lenguaje SQL
concreto de la base de datos, se puede cambiar fácilmente de una
base de datos a otra.

Aparte de que casi ningún CMS de los más conocidos está utilizando
un ORM para acceso a los datos, suelen tener una API propia de
acceso a datos, con lo que muy probablemente con la mayoría de los
gestores de contenido seremos dependientes de la tecnología de la
base de datos, y no la podremos cambiar o nos será difícil, ya sea
MySql, Oracle o SqlServer con las implicaciones de escalabilidad,
dependencias del sistema operativo de la propia tecnología de base
de datos, etc.

La utilización de objetos en vez de registros y de clases en vez de


tablas, tiene otra ventaja que permite añadir métodos accesores en
los objetos que no tienen relación directa con una tabla, por ejemplo
tenemos una tabla cliente con los campos nombre y apellidos, para
crear una propiedad nombreCompleto es tan fácil como crear una
función que nos devuelva el nombre completo cuando realmente no
es necesario almacenarlo en la base de datos, también para
propiedades de totales, etc.

Actualmente la arquitectura del software está orientada a hacer


desarrollos multicapas con el menor nivel de acoplamiento posible
porque nos brinda una gran cantidad de ventajas y los frameworks de

También podría gustarte