Está en la página 1de 14

Escuela Superior Politcnica de Chimborazo

FIE Escuela de Ingeniera en Sistemas

Aplicaciones Web
Tema:
Frameworks para php, para trabajar con mvc

Integrantes:
o Carlos Sarango 4884 o Jonathan Pazmio 4838
Riobamba, 22 de Mayo del 2013

Abreviaturas y Glosario de Trminos

Abreviaturas Servidor POP: Post Office Protocol

Glosario de Trminos Alojamiento web (Hosting): Para que las pginas puedan ser visibles las 24h los 365 das del ao es necesario ponerlas en un ordenador abierto al pblico, es decir un servidor o tambin llamado "Host".

Introduccin

PHP es uno de los lenguajes scripting ms utilizados actualmente, y por ser de cdigo abierto a influenciado que tenga muchas empresas que lo apoyen y as lograrse consolidar como un lenguaje con mucha simpleza y flexibilidad, pero a la medida que ha crecido en muchas razones para ser un lenguaje eficiente tambin puede crecer en codificacin montona y a su vez repetitiva, es as que se crea una solucin til los Frameworks, de los cuales en este documento detallaremos de forma sintetizada los ms utilizados y por ende lo ms populares Frameworks, estas soluciones empresariales se las puede utilizar dependiendo de la perspectiva del cliente o desarrollador, ya que brinda varias opciones que nos permiten desarrollar de forma ms interactiva y dinmica, por lo que el proceso de desarrollo es mucho ms ligero y con menos errores, que a su vez dan mayor estabilidad a las aplicaciones desarrollados.

Detrs de estos Framework se encuentro la idea propia del funcionamiento, conocido como MVC o Modelo Vista Controlador, con el cual trabajaremos dentro de la catedra debido a las grandes ventajas que esto representa ya que es un patrn arquitectnico que nos brinda muchos beneficios.

Objetivos Objetivos General Investigar los principales Frameworks para PHP que trabaje con MVC (Modelo- VistaControlador), Objetivos Especficos

Conocer acerca de lo Frameworks que utiliza PHP, para el desarrollo de aplicaciones. Documentar los principales Frameworks que se pueden implementar en PHP. Analizar las diferentes ventajas que nos ofrecen y a las que se adhiere cada Frameworks.

Marco Terico:

FRAMEWORKS (mvc) PARA PHP FRAMEWORK. Dentro de lo que se refiere el desarrollo de software, un framework o infraestructura digital, es una estructura conceptual y tecnolgica de soporte definido, normalmente con artefactos o mdulos de software concretos, que puede servir de base para la organizacin y desarrollo de software. Por defecto, puede incluir soporte de programas, bibliotecas, y un lenguaje interpretado, entre otras herramientas, para as ayudar a desarrollar y unir los diferentes componentes de un proyecto.

Framework para PHP.


Los frameworks PHP hacen mucho ms dinmico el desarrollo de aplicaciones web escritas en PHP, poniendo a nuestra disposicin estructuras bsicas mediante las cuales se puede construir las aplicaciones. Los Frameworks tambin pueden ayudar a que los principiantes construyan aplicaciones ms estables, asegurando interaccin apropiada con la base de datos y codificacin en la presentacin del diseo. Esto te permite pasar ms tiempo creando la aplicacin propiamente dicha, en lugar de gastarlo escribiendo una y otra vez el mismo cdigo. La idea general detrs del funcionamiento de un framework PHP es conocida como Model View Controller (MVC). MVC es un patrn arquitectnico en programacin que asimila la lgica del negocio, permitiendo que una pueda ser modificada sin necesidad de modificar a la otra. Con MVC. Model hace alusin a la informacin. View a la presentacin del diseo. Controller a la aplicacin o lgica del negocio. Bsicamente, MVC separa el proceso de desarrollo de una aplicacin, para que puedas trabajar sobre elementos individuales y que los otros no se vean afectados. Esencialmente, esto hace que la codificacin en PHP sea ms rpida y menos complicada. Existen muchos Frameworks desarrollados para PHP, pero esta investigacin se centra en los ms importantes, debido a su gran demanda y popularidad, pues son los ms utilizados porque brindan la mayor parte de exigencias como usuarios y programadores las necesitamos:

Dentro de esta lista de Frameworks ms importantes tenemos: Zend Framework (ZF) Symfony CakePHP CodeIgniter Kohana

Zend Framework (ZF)

Es un framework de cdigo abierto para desarrollar aplicaciones web y servicios web con PHP 5. ZF es una implementacin que usa cdigo 100% orientado a objetos. La estructura de los componentes de ZF es algo nico; cada componente est construido con una baja dependencia de otros componentes. Esta arquitectura dbilmente acoplada permite a los desarrolladores utilizar los componentes por separado. Aunque se pueden utilizar de forma individual, los componentes de la biblioteca estndar de Zend Framework conforman un potente y extensible framework de aplicaciones web al combinarse. ZF ofrece un gran rendimiento y una robusta implementacin MVC, una abstracin de base de datos fcil de usar, y un componente de formularios que implementa la prestacin de formularios HTML, validacin y filtrado para que los desarrolladores puedan consolidar todas las operaciones usando de una manera sencilla la interfaz orientada a objetos. Tambin existen componentes que implementan bibliotecas de cliente para acceder de forma sencilla a los web services ms populares. Cualesquiera que sean las necesidades de su solicitud, se tiene todas las posibilidades de encontrar un componente de Zend Framework que se pueda utilizar para reducir drsticamente el tiempo de desarrollo, con una base completamente slida.

El principal patrocinador del proyecto Zend Framework es Zend Technologies, pero muchas empresas han contribuido con componentes o caractersticas importantes para el marco. Empresas como Google, Microsoft y StrikeIron se han asociado con Zend para proporcionar interfaces de servicios web y otras tecnologas que desean poner a disposicin de los desarrolladores de Zend Framework

CARACTERISTICAS: Trabaja con MVC. Cuenta con mdulos para manejar archivos PDF, canales RSS, Web Services (Amazon, Flickr, Yahoo), etc.

El Marco de Zend tambin incluye objetos de las diferentes bases de datos, por lo que es extremadamente simple para consultar su base de datos, sin tener que escribir ninguna consulta SQL. Una solucin para el acceso a base de datos que balancea el ORM con eficiencia y simplicidad. Completa documentacin y tests de alta calidad. Soporte avanzado para i18n (internacionalizacin). Un buscador compatible con Lucene. Robustas clases para autenticacin y filtrado de entrada.

Symfony

Symfony est ms bien enfocado a desarrolladores avanzados cuyo objeto principal son aplicaciones de nivel corporativo. Este framework open-source posee una gran cantidad de propiedades y puede hacer de todo, pero su mayor falla es que es un poco ms lento que otros Frameworks. Es un completo framework diseado para optimizar el desarrollo de las aplicaciones web mediante algunas de sus principales caractersticas. Para empezar, separa la lgica de negocio, la lgica de servidor y la presentacin de la aplicacin web. Proporciona varias herramientas y clases encaminadas a reducir el tiempo de desarrollo de una aplicacin web compleja. Adems, automatiza las tareas ms comunes, permitiendo al desarrollador dedicarse por completo a los aspectos especficos de cada aplicacin. El resultado de todas estas ventajas es que no se debe reinventar la rueda cada vez que se crea una nueva aplicacin web. Caractersticas Diseado para ajustarse a los siguientes requisitos: Fcil de instalar y configurar en la mayora de plataformas (y con la garanta de que funciona correctamente en los sistemas Windows y *nix estndares). Independiente del sistema gestor de bases de datos. Su capa de abstraccin y el uso de Propel, permiten cambiar con facilidad de SGBD en cualquier fase del proyecto. Utiliza programacin orientada a objetos, de ah que sea imprescindible PHP 5. Sencillo de usar en la mayora de casos, aunque es preferible para el desarrollo de grandes aplicaciones Web que para pequeos proyectos.

Aunque utiliza MVC (Modelo Vista Controlador), tiene su propia forma de trabajo en este punto, con variantes del MVC clsico como la capa de abstraccin de base de datos, el controlador frontal y las acciones. Basado en la premisa de convenir en vez de configurar, en la que el desarrollador slo debe configurar aquello que no es convencional. Sigue la mayora de mejores prcticas y patrones de diseo para la web. Preparado para aplicaciones empresariales y adaptables a las polticas y arquitecturas propias de cada empresa, adems de ser lo suficientemente estable como para desarrollar aplicaciones a largo plazo. Cdigo fcil de leer que incluye comentarios de phpDocumentor y que permite un mantenimiento muy sencillo. Fcil de extender, lo que permite su integracin con las bibliotecas de otros fabricantes. Una potente lnea de comandos que facilitan generacin de cdigo, lo cual contribuye a ahorrar tiempo de trabajo. Permite la internacionalizacin para la traduccin del texto de la interfaz, los datos y el contenido de localizacin. La presentacin usa templates y layouts que pueden ser construidos por diseadores de HTML que no posean conocimientos del framework. Los formularios soportan la validacin automtica, lo cual asegura mejor calidad de los datos en las base de datos y una mejor experiencia para el usuario. El manejo de cache reduce el uso de banda ancha y la carga del servidor. La facilidad de soportar autenticacin y credenciales facilita la creacin de reas restringidas y manejo de seguridad de los usuarios. El enrutamiento y las URLs inteligentes hacen amigable las direcciones de las pginas de la aplicacin. Las listas son ms amigables, ya que permite la paginacin, clasificacin y filtraje automticos. Los plugins proveen un alto La interaccin con AJAX es mucho ms sencilla. nivel de extensibilidad.

CakePHP

CakePHP es un framework o marco de trabajo que facilita el desarrollo de aplicaciones web, utilizando el patrn de diseo MVC. Es de cdigo abierto y se distribuye bajo licencia MIT. Cakephp est desarrollado en PHP con programacin orientada a objetos. Es unframework de desarrollo de aplicaciones web escrito en PHP, creado sobre los conceptos de Ruby on Rails.

Caractersticas Al igual que Ruby On Rails, CakePHP facilita al usuario la interaccin con la base de datos mediante el uso de ActiveRecord. Adems hace uso del patrn Modelo Vista Controlador. Compatible con PHP4 y PHP5 CRUD de la base de datos integrado URLs amigables Sistema de plantillas rpido y flexible Ayudas para AJAX, Javascript, HTML, forms y ms Trabaja en cualquier subdirectorio del sitio Validacin integrada Scaffolding de las aplicaciones Access Control Lists Sanitizacin de datos Componentes de seguridad y sesin

CodeIgniter

Es muy conocido por su utilizacin simple, desempeo y velocidad. A diferencia de Symfony, este framework es ideal para las cuentas de hosting compartidas o para cuando deseas un framework con una pequea huella. Ofrece soluciones simples, y posee una extensa librera de videos tutoriales, foros, una gua de usuario y una wiki disponible. Los principiantes deberan realmente tenerlo en cuenta.

Tambin hay que destacar que CodeIgniter es ms rpido que muchos otros entornos. Incluso en una discusin sobre entornos de desarrollo con PHP, Rasmus Lerdorf expres que le gustaba CodeIgniter "porque es rpido, ligero y parece poco un entorno". CARACTERISTICAS: Muy flexible y sencillo. A menudo demasiado, obligando al programador a desarrollar muchas funcionalidades que deberan incluirse por defecto. Muy fcil de aprender, principalmente porque no hay mucho que aprender, al ser simple hasta el extremo. Tambin es el que menos recursos utiliza, al ser el ms ligero. Est escrito para mantener la compatibilidad con PHP 4, por lo que no aprovecha muchas de las caractersticas introducidas en PHP 5. Debido a esta y a otras razones muchos de sus desarrolladores se desvincularon del proyecto para crear un fork llamado Kohana.

Kohana

Es un framework para aplicaciones web PHP5 que implementa el patrn de Modelo Vista Controlador Jerrquico (HMVC). Sus principales objetivos se basan en ser seguro, ligero, y fcil de utilizar.

Caractersticas: Extremadamente seguro. Extremadamente ligero. Mnima curva de aprendizaje.

Utiliza el patrn MVC y HMVC. Compatibilidad UTF-8 100%. Arquitectura Loosely coupled. Extremadamente sencilla de extender. Tecnologa PHP5 OOP estricto. Sencilla abstraccin de base de datos mediante libreras SQL. Mltiples drivers de sesin (nativo, base de datos, y cookie). Un Poderoso gestor de eventos que permite pequeas modificaciones dinmicamente.

Originalmente basado en CodeIgniter. CUADRO COMPARATIVO. Dentro de los Frameworks que son para PHP podemos realizar una tabla comparativa de algunos de ellos, y bsicamente marcaremos los que analizamos, adems de que se encuentran dentro del MVC (Modelo-Vista-Controlador),

PHP Framew PHP PHP MV Multi OR DB Templa Cachi Valid Ajax Auth Modul EDP ork 4 5 C ple M Objec tes ng ation Modu es DB's ts le Akelos ash.MVC CakePHP CodeIgniter DIY eZ Components Fusebox PHP on TRAX PHPDevShel l PhpOpenbiz

Prado QPHP Seagull Symfony WACT WASP Yii Zend ZooP

DESCRIPCION DEL CUADRO COMPARATIVO:

MVC : Indica si el marco viene con soporte incorporado para una configuracin de Modelo-Vista-Controlador. Multiple DB : Indica si el marco es compatible con mltiples bases de datos sin tener que cambiar nada. ORM : Indica si el marco apoya un mapeador objeto-record, por lo general una implementacin de ActiveRecord. DB objetos : Indica si el marco incluye otros objetos de base de datos, como un TableGateWay. Plantillas : Indica si el marco tiene un motor de plantillas incorporado. Caching : Indica si el marco incluye un objeto de almacenamiento en cach o alguna manera otra forma de almacenamiento en cach. Validacin : Indica si el marco tiene una validacin incorporado o componente de filtrado. Ajax : Indica si el marco viene con soporte incorporado para Ajax. Mdulo de autenticacin : Indica si el marco tiene un mdulo incorporado para el manejo de la autenticacin de usuario.

Mdulos : Indica si el marco tiene otros mdulos, como un feed RSS, mdulo analizador PDF o cualquier otra cosa (til). EDP : Evento Programacin Drive

Conclusiones

Los Frameworks para PHP, es de gran ayuda en el desarrollo de aplicaciones ya que agiliza la programacin la sintetiza al no reutilizar cdigo y la vuelve mucho ms fcil de utilizar. Los Frameworks son indispensables para programadores principiantes en PHP, ya que agilitan el desarrollo. El MVC(Modelo-Vista -Controlador) es bsicamente un patrn de diseo arquitectnico que es la idea central de un Framework. El Frameworks ofrecer simplicidad como as tambin estabilidad, por lo que puede resultar una buena idea utilizarlo siempre que sea posible. El mismo ayudar a reducir o eliminar la mala codificacin y acelerar el proceso. No existen Frameworks mejores que otros, ya que existe una gran disyuntiva entorno a esto, pero que depende muchsimo de las necesidades ya que no todos los Frameworks, y se debe elegir con el que se siente ms cmodo el cliente o desarrollador.

Recomendaciones

Cuando se identifique que el cdigo se est volviendo montono o muy repetitivo, tomar en cuenta la utilizacin de un Frameworks que simplifique estos aspectos. No abusar de los errores en el desarrollo, ya que PHP no siempre ser un lenguaje muy permisible en cuanto a errores de codificacin se refiere. Identificar el Frameworks de acuerdo a las necesidades que se tenga, y con uno que se pueda sentir cmodo en su ambiente de desarrollo, lo cual permitir llegar a la solucin requerida en menos tiempo de mejor calidad y estabilidad. Probar cada uno de los Frameworks para encontrar el ideal, y que se ajuste a nuestras ideas sin dejar de lado lo que buscamos como facilidad de uso, desarrollo/desempeo rpido, popularidad y soporte. Se puede consultar a desarrolladores de mayor experiencia al momento de elegir el framework ya que cada uno de ellos tienen sus fortalezas y debilidades.

Bibliografa (Normas APA)


Bolufe, M. (9 de Mayo de 2009). Monografias. Recuperado el 18 de mayo de 2013, de www.monografias.com: http://www.monografias.com/trabajos70/frameworksdesarrollo-aplicaciones-php/frameworks-desarrollo-aplicaciones-php2.shtml El_Hacker. (7 de mayo de 2011). elhacker. Recuperado el 18 de Mayo de 2013, de www.elhacker.net: http://foro.elhacker.net/php/frameworks_php_mvc_ligeroslivianost326868.0.html Manuel, J. (21 de Diciembre de 2007). ElwebMaster. Recuperado el 18 de Mayo de 2013, de www.elwebmaster.com: http://www.elwebmaster.com/articulos/frameworks-phpcuadro-comparativo Micaela. (9 de Agosto de 2009). ElWebMaster. Recuperado el 18 de Mayo de 2013, de www.elwebmaster.com: http://www.elwebmaster.com/articulos/frameworks-phprecomendados-guia-para-principiantes PHP, C. (25 de Julio de 2011). Comunidad PHP. Recuperado el 18 de Mayo de 2013, de www.programadoresphp.com: http://programadoresphp.com.mx/index.php?sec=8&clave_articulo=106 Symfony, D. (17 de mayo de 2013). Synfony. Recuperado el 18 de Mayo de 2013, de www.symfony.com: http://symfony.com/legacy Team, k. (3 de Enero de 2012). Kohana Framework. Recuperado el 18 de Mayo de 2013, de www.kohanaframework.org: http://kohanaframework.org/3.3/guide/kohana Technologies, Z. (3 de Enero de 2006). Zend Framework. Recuperado el 2013 de Mayo de 2013, de www.framework.zend.com: http://framework.zend.com/about/ Valdez, D. (31 de Julio de 2007). Maestros de la WEB. Recuperado el 18 de Mayo de 2013, de www.maestrosdelaweb.com: http://www.maestrosdelweb.com/editorial/los-frameworksde-php-agilizan-tu-trabajo/ Wikipedia. (4 de Abril de 2013). Wikipedia. Recuperado el 19 de Mayo de 2013, de ww.wikipedia.org: http://es.wikipedia.org/wiki/Framework

También podría gustarte