MVC, desarrollo fiable de aplicaciones web

3 min lectura
Desarrollo / 27 enero 2014
MVC, desarrollo fiable de aplicaciones web

BBVA API Market

MVC son las siglas de Model, View, Controller (Modelo, Vista y Controlador en español) y supone una alternativa más que fiable a la hora de crear e implementar sistemas en los que se incluyen interfaces de usuario. El uso de esta técnica proporciona ventajas como una mayor fiabilidad y solidez en el software, lo que aumenta su ciclo de vida; reutilización del código; separación de conceptos y una mayor facilidad en el mantenimiento.

Esta tendencia se basa en la reutilización del código y su separación en tres capas diferentes: una para los datos, otra para el interfaz y una tercera capa lógica. Estas tres capas son las denominadas Modelos, Vistas y Controladores.

Modelos. Son los objetos de negocio. En esta capa se incluyen los aspectos relacionados con los datos. En ella encontramos las opciones de extracción e inserción de datos, acceso a la información o actualización de cifras, así como su selección. En esta capa se encuentra el núcleo de la funcionalidad de la aplicación desarrollada.

Vistas. Es la interfaz que interactúa con el usuario o el resto de sistemas. En esta capa se organizan los datos y se selecciona el modo en que éstos se desplegarán. En esta parte se incluye el código de la aplicación que posteriormente realizará la visualización del interfaz de usuario. Vistas guarda una relación directa con la capa de Modelos, ya que es a ella a la que solicita los datos que posteriormente se mostrarán en la visualización. En resumen, Vistas es la presentación visual de la capa Modelos.

Controladores. Es la capa que se encarga de gestionar todo el flujo de trabajo de la aplicación. Organiza la relación entre las dos capas anteriores y establece los parámetros en los que se realiza un requerimiento de datos y cuándo desplegarlos. Desde esta sección se implementan las acciones que se van a poder realizar a través de la aplicación, tales como editar, buscar o interactuar. Su misión principal es servir de nexo de unión entre la capa Vistas y la de Modelos. Esta capa reacciona a las solicitudes del cliente de la aplicación, ejecutando las acciones adecuadas y creando los modelos necesarios.

Para el correcto funcionamiento de una aplicación basada en MVC, las tres capas deben comunicarse correctamente entre ellas, respondiendo de manera lógica a cualquier acción realizada por el usuario.

MVC se está convirtiendo en una de las tendencias más destacadas en el mundo del desarrollo web. Esta propuesta, ya presentada en los años 70, ha retomado su vigencia gracias a la aparición de un gran número de frameworks (estructura que sirve de base para la organización y desarrollo de software) que utilizan el patrón MVC como el modelo a la hora de construir aplicaciones web. Estos son algunos de los más destacados.

Ruby On Rails. Se trata de una aplicación experimentada (su desarrollo empezó en 2003) que ofrece una estructura web open source basada en Ruby que permite la creación de aplicaciones para el mundo real. Todas sus capas (usa el patrón de arquitectura MVC para organizar la programación de aplicaciones) son construidas para trabajar integradas perfectamente. A través de este framework, todo lo que va desde las plantillas para controlar el flujo hasta la lógica de negocio está escrito en Ruby. Webs tan conocidas como Twitter, GitHub, Hulu o Slideshare usan este framework. Aquí puedes consultar sus principales características.

CakePHP. Es un framework de desarrollo rápido de aplicaciones open source muy flexible, basado en MVC e inspirado en Ruby On Rails. Esta estructura emplea patrones de diseño comúnmente conocidos como Active Record, Association Data Mapping, Front Controler y MVC. Su principal objetivo es proporcionar un framework estructurado que permita a los usuarios de PHP en cualquier nivel desarrollar rápidamente aplicaciones web muy sólidas sin perder nada de flexibilidad. Sitios como MapMe, Copify, Piano Marvel y Flipcomp usan CakePHP. Aquí puedes consultar sus principales características.

Catalyst. Se trata de una elegante estructura open source para aplicaciones web. Entre sus ventajas se encuentra su sencillez y flexibilidad. A través de ella, los desarrolladores pueden construir aplicaciones que funcionan en la web o que lo hacen usando protocolos empleados para ella. Catalyst ha sido diseñado para facilitar la gestión de una gran variedad de tareas necesarias para que un aplicación funcione en la web, bien haciéndolas ella misma o bien permitiendo la conexión de módulos Perl que puedan realizarlas. Este framework se inspira en otros similares como Ruby on Rails, Maypole o Spring. Catalyst sigue el patrón de diseño basado en MVC, lo que permite separar asuntos como el contenido, la presentación y el control del flujo en módulos separados. Esta separación permite al desarrollador modificar el código que se encarga de un asunto determinado sin afectar al código que maneja los otros. Sitios web como BBC iPlayer, Edit Grid o Manchester Evening News usan este framework. Aquí puedes echar un vistazo a sus características.

También podría interesarte