domingo, 13 de febrero de 2011

MVC Modelo Vista Controlador


MVC (Modelo Vista Controlador)


Modelo Vista Controlador (MVC) es un patrón de arquitectura de software que separa los datos de una aplicación, la interfaz de usuario, y la lógica de control en tres componentes distintos. El patrón de llamada y retorno MVC (según CMU), se ve frecuentemente en aplicaciones web, donde la vista es la página HTML y el código que provee de datos dinámicos a la página. El modelo es el Sistema de Gestión de Base de Datos y la Lógica de negocio, y el controlador es el responsable de recibir los eventos de entrada desde la vista.

Descripción del patrón

• Modelo: Esta es la representación específica de la información con la cual el sistema opera. En resumen, el modelo se limita a lo relativo de la vista y su controlador facilitando las presentaciones visuales complejas. El sistema también puede operar con más datos no relativos a la presentación, haciendo uso integrado de otras lógicas de negocio y de datos afines con el sistema modelado.
• Vista: Este presenta el modelo en un formato adecuado para interactuar, usualmente la interfaz de usuario.
• Controlador: Este responde a eventos, usualmente acciones del usuario, e invoca peticiones al modelo y, probablemente, a la vista.

Frameworks MVC

Java / J2ee -- Apache -- Struts

PHP -- MIT -- CakePHP

PHP -- MIT -- Symfony



¿Qué es Symfony?

Symfony es un framework PHP que facilita el desarrollo de las aplicaciones web. Symfony se encarga de todos los aspectos comunes y aburridos de las aplicaciones web, dejando que el programador se dedique a aportar valor desarrollando las características únicas de cada proyecto.

Symfony es un framework para construir aplicaciones web con PHP. En otras palabras, Symfony es un enorme conjunto de herramientas y utilidades que simplifican el desarrollo de las aplicaciones web.

Para los iniciados en los frameworks, Symfony es una de las mejores copias para PHP del famoso framework Ruby on Rails. Symfony ha tomado las mejores ideas de Rails y de muchos otros frameworks, ha incorporado ideas propias y el resultado es un framework elegante, estable, productivo y muy bien documentado.
Symfony emplea el tradicional patrón de diseño MVC (modelo-vista-controlador) para separar las distintas partes que forman una aplicación web. El modelo representa la información con la que trabaja la aplicación y se encarga de acceder a los datos.
La vista transforma la información obtenida por el modelo en las páginas web a las que acceden los usuarios. El controlador es el encargado de coordinar todos los demás elementos y transformar las peticiones del usuario en operaciones sobre el modelo y la vista.

Características

• Fácil de instalar y configurar en sistemas Windows, Mac y Linux
• Funciona con todas las bases de datos comunes (MySQL, PostgreSQL, SQLite, Oracle, MS SQL Server)
• Compatible solamente con PHP 5 desde hace años, para asegurar el mayor rendimiento y acceso a las características más avanzadas de PHP
• Basado en la premisa de "convenir en vez de configurar", en la que el desarrollador solo debe configurar aquello que no es convencional
• Preparado para aplicaciones empresariales, ya que se puede adaptar con facilidad a las políticas y arquitecturas propias de cada empresa u organización
• Flexible hasta cualquier límite y extensible mediante un completo mecanismo de plugins
• Publicado bajo licencia MIT de software libre y apoyado por una empresa comprometida con su desarrollo
• Traducido a más de 40 idiomas y fácilmente traducible a cualquier otro idioma



¿Qué es CakePHP?

CakePHP es un marco de desarrollo [framework] rápido para PHP, libre, de código abierto. Se trata de una estructura que sirve de base a los programadores para que éstos puedan crear aplicaciones Web. Nuestro principal objetivo es que puedas trabajar de forma estructurada y rápida, sin pérdida de flexibilidad.

Con CakePHP el desarrollo web ya no es monótono porque ofrecemos las herramientas para que empieces a escribir el código que realmente necesitas: la lógica específica de tu aplicación. Consigue una copia de CakePHP, empieza con lo verdaderamente importante y no reinventes la rueda cada vez que te incorpores a un nuevo proyecto.

CakePHP tiene un equipo de desarrolladores y una comunidad activos, lo que añade valor al proyecto. Con CakePHP, además de no tener que reinventar la rueda, el núcleo de tu aplicación se mejora constantemente y está bien probado.
Esta es una lista breve con las características de las que disfrutarás al utilizar

CakePHP:

• Comunidad activa y amistosa
• Licencia flexible
• Compatible con PHP4 y PHP5
• CRUD integrado para la interacción con la base de datos
• Soporte de aplicación [scaffolding]
• Generación de código
• Arquitectura Modelo Vista Controlador (MVC)
• Despachador de peticiones [dispatcher], con URLs y rutas personalizadas y limpias
• Validación integrada
• Plantillas rápidas y flexibles (sintaxis de PHP, con ayudantes[helpers])
• Ayudantes para AJAX, Javascript, formularios HTML y más
• Componentes de Email, Cookie, Seguridad, Sesión y Manejo de solicitudes
• Listas de control de acceso flexibles
• Limpieza de datos
• Caché flexible
• Localización
• Funciona en cualquier subdirectorio del sitio web, con poca o ninguna configuración de Apache



¿Qué es strut?

Struts es una herramienta de soporte para el desarrollo de aplicaciones Web bajo el patrón MVC bajo la plataforma Java EE (Java Enterprise Edition). Struts se desarrollaba como parte del proyecto Jakarta de la Apache Software Foundation, pero actualmente es un proyecto independiente conocido como Apache Struts.

Struts permite reducir el tiempo de desarrollo. Su carácter de "software libre" y su compatibilidad con todas las plataformas en las que Java Entreprise esté disponible lo convierten en una herramienta altamente disponible.

Con la versión 2 del framework se introdujeron algunas mejoras sobre la primera versión, de cara a simplificar las tareas más comunes en el desarrollo de aplicaciones web, así como mejorar su integración con AJAX, etc.

Funcionamiento de Struts
Struts se basa en el Framework del Modelo-Vista-Controlador (MVC) el cual se utiliza ampliamente y es considerado de gran solidez. De acuerdo con este Framework, el procesamiento se separa en tres secciones diferenciadas llamadas el modelo, las vistas y el controlador.

No hay comentarios:

Publicar un comentario