Página principal



Escuela superior politécnica de chimborazo facultad de informática y electrónica escuela de ingeniería en sistemas estudio comparativo de productividad de frameworks

Descargar 1.57 Mb.

Escuela superior politécnica de chimborazo facultad de informática y electrónica escuela de ingeniería en sistemas estudio comparativo de productividad de frameworks





Descargar 1.57 Mb.
Página9/63
Fecha de conversión30.04.2017
Tamaño1.57 Mb.
1   ...   5   6   7   8   9   10   11   12   ...   63

Frameworks web para PHP


Existiendo una amplia gama de frameworks para la creación de aplicaciones web, siendo unos mejores que otros para la organización de proyectos de acuerdo a su magnitud, y a la vez con funcionalidades distintas, el objetivo común a cumplir es la simplicidad en crear proyectos de calidad en el menor tiempo posible sin la tediosa tarea de volver a escribir código repetitivamente.

Debido a la popularidad del Lenguaje PHP, es que existen muchos frameworks que están disponibles en la web que actualmente capturan al menos el 40% de los sitios top del internet como se muestra en la Figura. 3-1.

Figura 3-1. Distribución de Frameworks en Sitios Top.

Fuente: http://trends.builtwith.com/framework


Entre los frameworks más populares para PHP se encuentran(Best PHP MVC frameworks of 2013, 2013):


  • CakePHP. Es un framework de desarrollo rápido, licenciado bajo MIT License, bajo el patrón de arquitectura MVC, y utiliza funciones solidas de CakePHP para las queries de SQL.


  • Yii. Es un framework enfocado en el rendimiento bajo el patrón MVC, pudiendo automatizar las funciones básicas CRUD. Licenciado bajo BSD.


  • Laravel. Es un framework ligero licenciado bajo MIT, también funciona bajo el patrón de arquitectura MVC. Con consultas SQL de tipo plain SQL.


  • Codeigniter. Este framework es la base para un exitoso sistema de gestor de contenidos, además de ser ligero y rápido. Licenciado bajo la categoría de propietario OSL License.


  • Symfony. Siendo unos de los frameworks con perspectiva para proyectos empresariales, licenciado bajo MIT License.




    1. CakePHP


      1. Definición.


CakePHP es un framework creado para el desarrollo rápido de aplicaciones en PHP comprendido por librerías, clases, e infraestructuras en tiempo de ejecución, brindando flexibilidad mientras se trabaja de manera estructurada. “Si Ruby tiene su Rails y Java su Trails, PHP tiene todo un pastel: CakePHP es el Rails killer para el desarrollo rápido de servicios web en PHP”(Ramírez, s.f., p.2). En resumen CakePHP hace que la construcción de aplicaciones web sea más fácil, rápida y con menos código.


https://lh5.googleusercontent.com/-ea9a1V5xRGM/AAAAAAAAAAI/AAAAAAAAAAo/RGolx82dbhE/photo.jpg







Figura 4- 1. Logo de CakePHP

Fuente: Cakephp.org


      1. Historia.


El 2005 fue el año de despegue de este framework, cuando Michael Tatarynowicz creó una versión muy básica de plataforma de desarrollo rápido para aplicaciones PHP, dándose cuenta que este sería el comienzo de una nueva solución web. Publicando esta versión bajo la licencia MIT la cual permite no solo usar, copiar, modificar código sino también publicar, sublicenciar o vender copiar de las aplicaciones; apodándola Cake para la comunidad de desarrolladores la conozca. Actualmente su nombre lo mantienen como CakePHP, debido a un juego de palabras referente a los ingredientes que añades a tu gusto a un pastel, y que al crear una aplicación web con este framework en la comunidad de desarrolladores lo conocen como bake (cocinar)(Ramírez, s.f., p.3).




      1. Filosofía.


Debido a que la creación de CakePHP, fue bajo la inspiración de Ruby On Rails, comparten la misma filosofía de “Convention over Configuration”, que traducido al español seria Convenciones sobre Configuraciones. Gracias al uso de este simple concepto se obtiene una libre funcionalidad, es decir que el desarrollador se libera del tedioso trabajo del seguimiento del mantenimiento de los ficheros de configuraciones, además de que se estandariza el trabajo en el despliegue, permitiendo a otros conocer de una manera más fácil la estructura de la aplicación.(Convenciones en CakePHP — documentación de CakePHP Cookbook - 2.x, s.f.)


      1. Características.


CakePHP posee varias características(What is CakePHP? Why use it? — CakePHP Cookbook 2.x documentation, s.f.), que lo convierten en una buena opción como framework de desarrollo rápido de aplicaciones web PHP, entre las principales están:


  • Comunidad amigable.


  • Licencia flexible.


  • Compatible con las versiones de PHP 5.2.6 y superiores.


  • CRUD (Create, Read, Update, Delete) para la interacción de la base de datos.


  • Plataforma de código.


  • Generación automática de código.


  • Arquitectura MVC.


  • URLs personalizadas


  • Función de Validación.


  • Plantillas rápidas y flexibles (La sintaxis de PHP, con ayudantes).


  • Ayudantes para AJAX, JavaScript, formularios HTML y más.


  • Componentes de Email, Cookie, Seguridad, Sesión y otros.


  • ACL (Access Control Lists) flexible.


  • Sanitización de Datos.


  • Poderoso Caché.


  • Localización e Internacionalización.



      1. Arquitectura MVC en CakePHP.


CakePHP sigue el patrón de diseño MVC, que obliga a seguir una estructura determinada que ayudará a ampliar y mantener las funcionalidades del código de la aplicación. MVC separa a la aplicación en tres partes: modelo, la vista y el controlador(Entendiendo el Modelo - Vista - Controlador — documentación de CakePHP Cookbook - 2.x, s.f.), las cuales se describen a continuación.


Capas MVC en CakePHP


Capa del Modelo


Esta capa es la responsable de la recuperación de datos, donde intervienen las acciones de procesamiento, validación, asociación y cualquier otra tarea relativa a la manipulación de datos. En CakePHP los modelos están representados por una base de datos, tabla o registro, así como sus relaciones con otras tablas o registros. Siendo aquí en esta capa donde reside la conexión a la base de datos(Entendiendo el Modelo - Vista - Controlador — documentación de CakePHP Cookbook - 2.x, s.f.).


Capa de la Vista


En cambio esta capa es encargada de la presentación de los datos manipulados por el modelo, a través de una interfaz gráfica con el objetivo de que esta información sea usada por el usuario a partir de peticiones. Las vistas en CakePHP están representadas generalmente por los archivos “view” de tipo HTML con código PHP embebido, aunque no se limitan únicamente a este formato para representar datos, ya que dependen de las necesidades del usuario tales como video, audio, música, documentos, entre otros(Entendiendo el Modelo - Vista - Controlador — documentación de CakePHP Cookbook - 2.x, s.f.).


Capa del Controlador


Esta capa es la responsable de dotar de lógica a nuestra aplicación, conocida como la lógica de negocios. Además de gestionar a las peticiones de los clientes al servidor comprobando su validez de acuerdo a las normas de autentificación o Autorización, respondiendo con información solicitada con ayuda de la capa de modelo para leer y escribir en base de datos y otras rutas, y mandar la salida apropiada de datos por la capa de vistas(Entendiendo el Modelo - Vista - Controlador — documentación de CakePHP Cookbook - 2.x, s.f.).



Ciclo de Petición MVC en CakePHP


Figure 1

Figura 5-1. Petición típica MVC en CakePHP

Fuente: CakePHP.org


El ciclo de petición MVC en CakePHP tal como se muestra en la Figura 5-1, comienza cuando el cliente realiza una petición a la aplicación, la cual pasa por un despachador que las convierte en acciones de controladores pasan al controlador el cual se conecta con el modelo para la manipulación de datos solicitada, al finalizar la comunicación el controlador delega el objeto a la vista correcta para generar una presentación de información correcta al cliente(Entendiendo el Modelo - Vista - Controlador — documentación de CakePHP Cookbook - 2.x, s.f.).


      1. Convenciones en CakePHP.


Como se mencionó anteriormente la filosofía de CakePHP, las convenciones son importantes para un desarrollo de aplicaciones uniforme. Debido a que este framework está escrito en inglés es recomendable utilizar los nombres en este idioma, debido a que las palabras son más cortas, y evitar problemas de plurales que ocasionan las palabras en español.


Convenciones de Controladores


Los nombres de las clases de los controladores son en plural, con formato CamelCased, y terminan en Controller. PeopleController y LatestArticlesController son ejemplos que siguen esta convención.


Además de mencionar que el primer método que se debe crear para un controlador sea el index (), ya que este será por defecto el primer método en ejecutarse. Por ejemplo una petición de http://www.example.com/cakes/ corresponderá con la llama al método index () del controlador CakesController.(CakePHP Conventions — CakePHP Cookbook 2.x documentation, s.f.)


Convenciones sobre nombres de fichero y nombres de clases


En general, los nombres de fichero y los nombres de clase serán iguales, en formato CamelCased, por ejemplo la clase CakesController es encontrada en un archivo llamado CakesControlller.php, de la misma manera con los modelos, vistas, componentes, helpers. (CakePHP Conventions — CakePHP Cookbook 2.x documentation, s.f.)


Convenciones para modelos y bases de datos


Los nombres de las clases de modelos están en singular y en formato CamelCase. Entre los ejemplos convencionales de nombres de los modelos pueden ser Person, BigPerson, y ReallyBigPerson. Los nombres de las tablas correspondientes a los modelos deben ir en plural y usar el símbolo underscore "_" o guion bajo.


Por ejemplo people, big_people, y really_big_people.Los nombres de los campos con más de una palabra se escriben en minúscula y subrayado, por ejemplo first_name. Otra recomendación es al utilizar el atributo id seguido del nombre de la tabla en singular utilizando guion bajo, por ejemplo si la tabla es cakes, su atributo seria cake_id. (CakePHP Conventions — CakePHP Cookbook 2.x documentation, s.f.)




Convenciones en las Vistas


Los nombres de las vistas utilizan el mismo método del controlador al que hacen referencia, en formato subrayado. Siguiendo el patrón para nombrar las vistas:


/app/View/Controller/underscored_function_name.ctp.


Por ejemplo el método add () del controlador CakesController buscará el fichero de vista en la ruta /app/View/Cakes/add.ctp.(CakePHP Conventions — CakePHP Cookbook 2.x documentation, s.f.)


      1. Requerimientos.


CakePHP es rápido y fácil de instalar, los requerimientos mínimos son:


  • Servidor Web.

Por ejemplo Apache, preferiblemente con mod_rewrite, pero no requerido. Aunque este framework corre sobre la mayoría de servidores web, tales como, LightHTTPD o bien Microsoft IIS.


  • Lenguaje de Programación.


PHP 4.3.2 o superior. Se puede añadir que CakePHP funciona de una manera mejor y optima en PHP 4 y 5.


  • Servidor de Base de Datos.


CakePHP soporta una gran variedad de motores de almacenamiento como: MySQL (4 o superior), PostgreSQL, Firebird DB2, Microsoft SQL Server, Oracle, SQLite, ODBC, ADOdb.








1   ...   5   6   7   8   9   10   11   12   ...   63

Similar:

Escuela superior politécnica de chimborazo facultad de informática y electrónica escuela de ingeniería en sistemas estudio comparativo de productividad de frameworks  iconEscuela superior politécnica de chimborazo facultad de informática y electrónica escuela de ingeniería electrónica en telecomunicaciones y redes diseño e implementación
Diseño e implementación de un sistema de control domótico supervisado por un teléfono móvil mediante la utilización de asterisk
Escuela superior politécnica de chimborazo facultad de informática y electrónica escuela de ingeniería en sistemas estudio comparativo de productividad de frameworks  iconFacultad de informatica y electronica escuela ingenieria en electronica, telecomunicaciones y redes
Estudio comparativo de los parametros tecnicos de las tecnologias umts y gsm para una futura migración en sma en la provincia de...
Escuela superior politécnica de chimborazo facultad de informática y electrónica escuela de ingeniería en sistemas estudio comparativo de productividad de frameworks  iconEscuela superior politécnica de chimborazo facultad de informática y electrónica escuela de ingeniería en sistemas desarrollo del sistema de acreditación y línea de fábrica para gadmicet utilizando la herramienta cakephp
Desarrollo del sistema de acreditación y línea de fábrica para gadmicet utilizando la herramienta cakephp
Escuela superior politécnica de chimborazo facultad de informática y electrónica escuela de ingeniería en sistemas estudio comparativo de productividad de frameworks  iconEscuela politecnica nacional
Facultad: Ej. Ingeniería Eléctrica y Electrónica
Escuela superior politécnica de chimborazo facultad de informática y electrónica escuela de ingeniería en sistemas estudio comparativo de productividad de frameworks  iconEscuela superior politécnica de chimborazo

Escuela superior politécnica de chimborazo facultad de informática y electrónica escuela de ingeniería en sistemas estudio comparativo de productividad de frameworks  iconEscuela superior politécnica de chimborazo facultad de administración de empresas carrera ingeniería en comercio exterior
Access denominada datos externos que nos permitirá importar datos desde cualquier programa dentro de nuestra computadora así como...
Escuela superior politécnica de chimborazo facultad de informática y electrónica escuela de ingeniería en sistemas estudio comparativo de productividad de frameworks  iconEscuela técnica superior de ingeniería de telecomunicación universidad politécnica de cartagena
El proyecto consiste en realizar un estudio de las posibilidades que ofrece la
Escuela superior politécnica de chimborazo facultad de informática y electrónica escuela de ingeniería en sistemas estudio comparativo de productividad de frameworks  iconEscuela superior politécnica del litoral instituto de ciencias matemáticas ingeniería en estadística informática
Análisis estadístico del posicionamiento de las carreras que oferta la espol a nivel de pregrado en la ciudad de Guayaquil”
Escuela superior politécnica de chimborazo facultad de informática y electrónica escuela de ingeniería en sistemas estudio comparativo de productividad de frameworks  iconEscuela superior politécnica del litoral facultad en Ingeniería en Mecánica y Ciencias de la Producción
Programa para Optimización del Diseño de Recuperadores de Energía de Gases de Escape desde Hornos”
Escuela superior politécnica de chimborazo facultad de informática y electrónica escuela de ingeniería en sistemas estudio comparativo de productividad de frameworks  iconLa investigación científica
Coordinador de Título de Máster Universitario en Informática Pluridisciplinar, de la Escuela Técnica Superior de Ingeniería Informática....


Descargar 1.57 Mb.