logo eduetka

Proyecto Tecnología e Informática Informática Comparativa De Los Framework Php

Comparativa De Los Framework Php

Publicado el 19 Marzo de 2016

Autor: David Hernanz

Descripción

1.     INTRODUCCIÓN

El presente documento pretende realizar un estudio previo de las tendencias actuales de FrameWork PHP y su uso.

2.    Listado de FrameWorks 2.1    CakePHP

Url: http://cakephp.org/ en español http://book.cakephp.org/3.0/es/index.html.

CakePHP es un framework para el desarrollo rápido OpenSource. El objetivo principal es que puedas trabajar de forma estructurada y rápida, sin pérdida de flexibilidad.

Como todos los frameworks, intenta dar una serie de funcionalidades implementadas con el fin de que el programador solo tenga que pensar el desarrollar la lógica de negocio, ofreciendo herramientas que abstraen de tareas rutinarias.

CakePHP tiene un equipo de desarrolladores y una comunidad activos, lo que añade valor al proyecto. Con CakePHP:

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.

 

2.2    YiiFramework

Url: http://www.yiiframework.com/

Yii es un framework PHP basado en componentes de altas prestaciones para desarrollar aplicaciones Web de gran escala. Permite la máxima reutilización en la programación web acelerado el proceso de desarrollo.

Yii es un framework genérico de programación Web que puede ser utilizado para todo tipo de aplicaciones Web. Gracias a que es liviano de correr y está equipado con soluciones de cacheo sofisticadas, es adecuado para desarrollar aplicaciones de gran tráfico como portales, foros, sistemas de administración de contenidos (CMS), Sistemas de comercio electrónico (e-commerce), etc.

Como la mayoría de los frameworks PHP, Yii es un framework MVC (modelo-vista-controlador).

Yii sobresale frente a frameworks PHP en su eficiencia, su gran cantidad de características y su clara documentación. Yii ha sido diseñado cuidadosamente desde el principio para el desarrollo de aplicaciones de Web. No es ni un subproducto de un proyecto ni un conglomerado de trabajo de terceros. Es el resultado de la vasta experiencia de los autores en desarrollo de aplicaciones Web y de la investigación y la reflexión de los más populares los frameworks de programación Web y aplicaciones.

2.3    CodeIgniter

CodeIgniter es un framework PHP para la creación rápida de aplicaciones web.Es un producto de código libre, libre de uso para cualquier aplicación.

Contiene una serie de librerías que sirven para el desarrollo de soluciones web, implementa el paradigma de Modelo Vista Controlador (MVC). Contiene muchas ayudas para la creación de aplicaciones PHP avanzadas, facilitando el desarrollo más rápido.La Arquitectura de desarrollo que proponehace que programemos de una manera más ordenada y contiene diversas herramientas que ayudan a hacer aplicaciones más versátiles y seguras. 

Características generales de CodeIgniter

  • Versatilidad: Quizás la característica principal de CodeIgniter, en comparación con otros frameworks PHP. CodeIgniter es capaz de trabajar la mayoría de los entornos o servidores, incluso en sistemas de alojamiento compartido, donde sólo tenemos un acceso por FTP para enviar los archivos al servidor y donde no tenemos acceso a su configuración.
  • Facilidad de instalación: No es necesario más que una cuenta de FTP para subir CodeIgniter al servidor y su configuración se realiza con apenas la edición de un archivo, donde debemos escribir cosas como el acceso a la base de datos. Durante la configuración no necesitaremos acceso a herramientas como la línea de comandos, que no suelen estar disponibles en todos los alojamientos.
  • Flexibilidad: CodeIgniter es bastante menos rígido que otros frameworks. Define una manera de trabajar específica, pero en muchos de los casos podemos seguirla o no y sus reglas de codificación muchas veces nos las podemos saltar para trabajar como más a gusto encontremos. Algunos módulos como el uso de plantillas son totalmente opcionales. Esto ayuda muchas veces también a que la curva de aprendizaje sea más sencilla al principio.
  • Ligereza: El núcleo de CodeIgniter es bastante ligero, lo que permite que el servidor no se sobrecargue interpretando o ejecutando grandes porciones de código. La mayoría de los módulos o clases que ofrece se pueden cargar de manera opcional, sólo cuando se van a utilizar realmente.
  • Documentación: La documentación de CodeIgniter es fácil de seguir y de asimilar, porque está escrita en modo de tutorial. Esto no facilita mucho la referencia rápida, cuando ya sabemos acerca del framework y queremos consultar sobre una función o un método en concreto, pero para iniciarnos sin duda se agradece mucho.
2.4    Laravel

Laravel es un framework relativamente reciente aunque ya cuenta con una comunidad de desarrollo activa y una documentación clara y completa. Proporciona las funcionalidades necesarias para desarrollar aplicaciones de manera fácil y segura. Parace que los estudio de diseño grafico estas usandolo cada vez más para el desarrollo de sus aplicaciones web.

Se basa en arquitectura MVC y resuelve necesidades actuales como manejo de eventos y autenticación de usuarios. Las características principales son:

  • Modular y extensible: Permite agregar todo lo que necesitas a través de su directorio Packalyst que cuenta con más de 5,500 paquetesdonde puedes encontrar lo que necesitas implementado.
  • Micro-servicios y APIs: Lumen es un micro-framework derivado de Laravel para desarrollar deforma fácil y rápidamicro-servicios y APIs. Lumen integra todas las características de Laravel con una mínima configuración.
  • HTTP rounting: Posee un sistema de enrutamiento rápido y eficiente, similar al que se usa en Ruby on Rails. Este nos permite relacionar las partes de nuestra aplicación con las rutas que ingresa el usuario en el navegador.
  • HTTP Middleware: El uso de Middleware se encarga de analizar y filtrar las llamadas HTTP en tu servidor. Puedes instalarlo para que se encargue de verificar que se trate de un usuario registrado, de evitar problemas de tipo Cross-Site-Scripting (XSS) y otras medidas de seguridad.
  • Caché: Robusto sistema de caché configurable.
  • Autenticación: Autenticación de usuarios de forma nativa.
  • Integración con Stripe: Laravel Cashier incluye todo lo necesario para integrar tu desarrollo con este servicio de cobro.
  • Tareas automatizadas: Con el APIElixirde Laravel se pueden crear tareas de Gulp con las que podemos definir el uso pre-procesadores para comprimir nuestro CSS y JavaScript.
  • Encriptación: Uso de seguridad OpenSSL y cifrado AES-256-CBC.
  • Eventos: Definir, registrar y escuchar eventos en tu aplicación es muy sencillo
  • Paginación
  • Object-Relational-Map (ORM)
  • Unit Testing: Unit Testing usando PHPUnit
  • Cola de tareas (Queues): Opción de ejecutar procesos largos y complejos en segundo plano usando listas de tareas.
2.5    Symfony 2

https://symfony.com/

Según sus desarrolladores:

“Symfony es un proyecto PHP de software libre que permite crear aplicaciones y sitios web rápidos y seguros de forma profesional “

« Symfony es un framework PHP de tipo full-stack construido con varios componentes independientes creados por el proyecto Symfony »

Principales características

  • Fácil de instalar y configurar en la mayoría de plataformas.
  • Independiente del sistema gestor de bases de datos. Su capa de abstracción y el uso de ORM (
  •  Utiliza programación orientada a objetos y características.
  • Basado en MVC con variantes del clásico como la capa de abstracción de base de datos, el controlador frontal y las acciones.
  • Sigue la mayoría de mejores prácticas y patrones de diseño para la web.
  • Ideal para aplicaciones empresariales. Es lo suficientemente estable como para desarrollar aplicaciones a largo plazo.
  • Fácil de extender, lo que permite su integración con las bibliotecas de otros fabricantes.
  • URLs inteligentes para el uso de direcciones amigable de las páginas de la aplicación.
  • Usotemplates y layouts

 

2.6    Otros frameworks

También existen otros frameworks más o menos utilizados:

  • Silex:micro FrameWork derivado de Symfony, simplifica MVC y el enrutamiento, aporta total flexibilidad en la forma de recibir peticiones.
  • Zend FrameWork: Durante mucho tiempo fue el Framework PHP más utilizado, sigue extendido aunque está siendo superado por otros fw más modernos.Está bien documentado y que cumple varias funciones de forma segura, eficiente.MVC con sistema de rutas, sistema de generación de formularios y sistema de traducción.http://framework.zend.com/.
  • Apigility: De Zend también tenemos es Framework para crear APIs y servicios RestFull
  • Kohana:http://kohanaframework.org/. Arquitectura MVC que implementa sistema de usuarios y roles, sistema de cacheo, facilita y compatibiliza la interacción con distintas bases de datos, tiene modelado para el mapeo objeto-relacional y un sistema de manipulación de imágenes, entre otras características.
  • kumbiaPHP: Realizado por la comunidad hispanohablante, arquitectura MVC concomponetes de ayuda para desarrollo ágil.Posee sistema de cacheo, mapeo objeto-relacional, sistema de plantillas, sistema de rutas, generador de formularios, componentes gráficos y aún más. Sin duda, una buena opción.http://www.kumbiaphp.com/
3.    Estadísticas:

Con google trend, hemos sacado el interés desde 2010 de los principales Frameworks

https://www.google.es/trends/explore#q=%2Fm%2F09t3sp%2C%20yii%2C%20%2Fm%2F02qgdkj%2C%20laravel%2C%20symfony&date=1%2F2010%2075m&cmpt=q&tz=Etc%2FGMT-1

Ficha técnica

Área:Tecnología e Informática

Asignatura:Informática

Edad: - No hay restriccion de edad

Duración:

Herramientas:

Auto Aplicaciones

Blogs

Objetivos

El objetivo no es otro que conocer los distintos framework que existen en el mundo del desarrollo software

Recursos

.

Requisitos

Conocimientos de Php

Y del paradigma Modelo-Vista-Controlador

Proceso

Definir Actividad 1

Actividades Docente

Actividades Estudiante

Evaluación

.

Notas

.


Responsive image

*Nota: toda la información que aparece en los Proyectos de Clase y WebQuest del portal educativo Eduteka es creada por los usuarios del portal.

Ficha técnica

Área:Tecnología e Informática

Asignatura:Informática

Edad: - No hay restriccion de edad

Duración:

Herramientas:

Auto Aplicaciones

Blogs