martes, 23 de junio de 2015

MVC

Modelo: es la representación específica del dominio de la información sobre la cual funciona la aplicación.

Vista: Se presenta el modelo en un formato adecuado para interactuar, usualmente un elemento de interfaz de usuario.

Controlador: Este responde a eventos, usualmente acciones del usuario e invoca cambios en el modelo y probablemente en la vista.



VENTAJAS Y DESVENTAJAS ADEMAS MAPA MENTAL EXPLICANDO MVC DE FORMA INTERACTIVA

Ventajas y Desventajas

La popularidad de este diseño se debe mas que todo a que es mucho mas fácil organizar aplicaciones grandes.

  • ·        Las ventajas
  • ·         Clara separación entre interfaz, lógica de negocio y de presentación, que además provoca parte de las ventajas siguientes.
  • ·         Sencillez para crear distintas representaciones de los mismos datos.
  • ·         Facilidad para la realización de pruebas unitarias de los componentes, así como de aplicar desarrollo guiado por pruebas (TDD).
  • ·         Reutilización de los componentes.
  • ·         Simplicidad en el mantenimiento de los sistemas.
  • ·         Facilidad para desarrollar prototipos rápidos.
  • ·         Los desarrollos suelen ser más escalables.

Las desventajas:

  • ·         Tener que ceñirse a una estructura predefinida, lo que a veces puede incrementar la complejidad del sistema. Hay problemas que son más difíciles de resolver respetando el patrón MVC.
  • ·         La curva de aprendizaje para los nuevos desarrolladores se estima mayor que la de modelos más simples como Webforms.
  • ·         La distribución de componentes obliga a crear y mantener un mayor número de ficheros.




Concepto de framework y su importancia


            Es una estructura de software con un conjunto de bibliotecas y componentes personalizables que por lo general se usa como base para poder acelerar el proceso de desarrollo de una aplicación. Debido a su estructura base bien organizada, estos permiten su reutilización.

IMPORTANCIA
            Al momento de iniciar un proyecto en el cual se desea desarrollar un sistema, debemos tener en cuenta varios factores que van a determinar el crecimiento del mismo, como por ejemplo su estructura, y que por lo general toma parte del tiempo que puede ser enfocado en el avance del desarrollo de los requerimientos del sistema. Acá es donde entra en juego la importancia de usar un Framework, ya que estos te proporcionan de una estructura base que te permite agilizar estos procesos y orientar el tiempo y esfuerzo en lógica de la aplicación.

            Interpretación del grupo: creemos que desarrollar en un ambiente framework es de suma importancia, ya que nos permite el desarrollo de aplicaciones alto rendimiento, proporciona al programador o analista varias herramientas y clases encaminadas a reducir el tiempo de desarrollo de una aplicación compleja así como de su mantenimiento en el futuro

Como se instala y configura el framework

Al momento de la instalación, debemos tener en cuenta el tipo de Framework que de desea utilizar, ya que en algunos casos estos tienen unos requisitos específicos que se deben cumplir, y de la misma forma tener en cuenta el sistema operativo donde se desea instalar ya que dependiendo de este se puede facilitar o dificultar la instalación. Alguno de estos requisitos va a depender del Framework que se vaya a utilizar, debido a que estos pueden ser para aplicaciones de escritorio, como aplicaciones web. Para la instalación de un Framework para aplicaciones de escritorio en el caso de Windows, se hace a través de un ejecutable que te guía a través de su instalación. Para la instalación de un Framework para aplicaciones web se deben tener instalados en cualquier sistema operativo los servicios de Apache, PHP, y el servidor de base de datos que se vaya a implementar, todos en la versión que requiera el Framework para su correcto funcionamiento.
            Al momento de configurar un Framework para aplicaciones web, por lo general se hace a través de uno o varios archivos de configuración, donde se especifican los parámetros de conexión a bases de datos, nombre de la aplicación, ruta de la aplicación, etc…
            Lo más recomendable al momento de instalar un Framework de aplicaciones web, es documentarse en el sitio web oficial, desde donde se ofrece la descarga, ya que estos se encargan de especificar los pasos para su instalación y correcto funcionamiento.
            Interpretación del grupo: pensamos que la forma de instalar los framework dependerá de múltiples factores, los mismos no causan ningún tipo de trauma a la hora de realizar tal tarea. Se necesitara de disponer de los recursos de Hardware así como de software, y no menos importante del personal que trabajara en el ambiente de desarrollo. Pondremos como ejemplo la instalación del .NET de Microsoft, uno de los más utilizados por desarrolladores de aplicaciones, tanto de escritorio como de aplicaciones web, por su fácil adaptación al concepto de Modelo Vista Controlador (MVC):

  “ NET Framework (traducido algo como "Marco de Trabajo") es un componente de software creado por Microsoft, necesario para el funcionamiento de aplicaciones creadas específicamente usando la plataforma. En Windows consiste en un grupo de librerías DLL, para poder traducir e interpretar las aplicaciones que se ejecuten en el escritorio y en el navegador web. Las aplicaciones .NET no son ejecutadas directamente por el sistema operativo, sino por un componente de software llamado Entorno de Ejecución. Las instalaciones de Windows Vista, 7 y 8 incluyen las versiones de .NET Framework disponibles en el momento de su liberación. No obstante las librerías de Framework pueden ser instaladas en Windows XP y actualizar la versión necesaria en Vista, 7 o Windows 8. Antes de todo debes leer como saber las versiones de NET Framework instaladas en el equipo.”

CARACTERÍSTICAS FRAMEWORK

  • ·         Comunidad activa y amistosa
  • ·         Licencia flexible
  • ·         Compatible con PHP
  • ·         Interacción con la base de datos
  • ·         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)
  • ·         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

COMO UTILIZAR UN FRAMEWORK

Una vez instalado permite el inicio del desarrollo de una aplicación de forma inmediata, haciendo que el programador se enfoque solamente en la lógica del negocio sin perder tiempo en definir la estructura que tendrá.
            Debido a la estructura MVC que utilizan, logran separar por capas las distintas fases de desarrollo,  permite un mantenimiento sencillo y eficiente por parte de los programadores, ya que los encargados del diseño pueden trabajar sin mezclarse con los encargados de procesos, ni los de interacciones con bases de datos.
            Interpretación del grupo: La utilización de Framework se hace de forma rápida y efectiva, mediante la estructura de diseños del MVC, consideramos que es una buena estructura esta metodología de diseños y puesta en marcha un sistema

EJEMPLO
            A continuación se presenta un ejemplo con una serie de pasos de cómo instalar un Framework sencillo para el desarrollo de aplicaciones web, llamado CakePHP.
1.      Conociendo el Framework.
1.1.   En premier lugar vamos a visitar el sitio web oficial “http://cakephp.org/”, donde nos vamos a ir documentando acerca de cómo trabaja y su estructura.
1.2.   Para descargar nuestro Framework lo hacemos desde el siguiente enlace “”
1.3.   Revisar los requerimientos que este necesita en la siguiente pagina “http://book.cakephp.org/3.0/en/installation.html#requirements”.

2.      Preparando el entorno.
En base a los requerimientos necesarios, nos disponemos a crear el entorno de donde lo implantaremos para iniciar el desarrollo de nuestra aplicación.
2.1.   Instalación de los servicios requeridos por el Framework.
2.1.1.     Windows.
2.1.1.1.           Para ello podemos utilizar varias aplicaciones que nos proporcionan todos los servicios requeridos, como Apache, PHP y MySQL en una sola instalación. Pueden usar el de su preferencia, siempre y cuando este disponga de las versiones de dichos servicios solicitadas por el Framework. A continuación le dejaremos 2 que se pueden utilizar.
2.1.1.1.1.                XAMPP.
2.1.1.1.2.                AppServ
2.1.1.2.           Luego de elegido y descargado la aplicación que nos proporcionara los servicios, nos disponemos a instalarla de la forma habitual, ejemplo:
2.1.1.2.1.                Ejecutar la aplicación.
2.1.1.2.2.                Siguiente, siguiente, aceptar sus términos y condiciones.
2.1.1.2.3.                Fin.
2.1.2.     Linux.
2.1.2.1.           Para instalar los servicios de Apache, PHP y MySQL en Linux, podemos elegir instalarlos por separado o a través de una aplicación que proporcione todos estos servicios.
2.1.2.1.1.                Una aplicación que nos proporcione todo los servicios.
2.1.2.1.1.1.                      XAMPP. Los pasos necesarios para su instalación están disponible en la siguiente pagina  “https://www.apachefriends.org/es/faq_linux.html”.
2.1.2.1.2.                De forma separada.
2.1.2.1.2.1.                      Abrir cualquier gestor de software de Linux y buscar cada servicio por separado para su instalación, por ejemplo.
2.1.2.1.2.2.                      Buscar Apache2, pulsar instalar.
2.1.2.1.2.3.                      Buscar PHP5, pulsar instalar.
2.1.2.1.2.4.                      Buscar Mysqlserver, pulsar instalar.




3.      Implantando el Framework
3.1.   Descomprimir el archivo descargado desde el sitio web de CakePHP, en la ruta web del servicio de Apache.
4.      Configuración del Framework.
4.1.   Permisos
A pesar de que CakePHP está hecho para funcionar con “mod_rewrite” sin tocar nada, y normalmente así es, hemos notado que algunos usuarios tienen dificultades para lograr que todo funcione correctamente en sus sistemas. Aquí hay unas cuantas cosas que puedes probar para conseguir que funcione correctamente. Primero mira en tu “httpd.conf” (asegúrate de estar editando el “httpd.conf” del sistema y que no es “httpd.conf” específico de un usuario o del site). Asegúrate que la reescritura .htaccess esté permitida y que AllowOverride esté establecido a All para el DocumentRoot adecuado.
4.2.   Configuración de Base de Datos

CakePHP espera que los detalles de configuración de la base de datos estén en “app/config/database.php”. Un ejemplo de configuración puede encontrarse en el archivo app/config/database.php.default.

Desarrollo de una framework Basico