El Zend Frameworks es simple, no necesita instalación especial, requiere PHP 5 e incorpora el patrón MVC (Model View Controller).
Ventajas:
Es desarrollado por Zend que es la empresa que respalda comercialmente a PHP.
Trabaja con MVC.
Cuenta con módulos para manejar archivos PDF, canales RSS, Web Services (Amazon, Flickr, Yahoo), etc.
El Marco de Zend también 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 solución para el acceso a base de datos que balancea el ORM con eficiencia y simplicidad.
Completa documentación y tests de alta calidad.
Soporte avanzado para i18n (internacionalización).
Un buscador compatible con Lucene.
Robustas clases para autenticación y filtrado de entrada.
Clientes para servicios web, incluidos Google Data APIs y StrikeIron.
Muchas otras clases útiles para hacerlo tan productivo como sea posible.
Desventajas:
Ninguna protección por definición de la licencia BSD.
No tiene mucha Independencia estratégica.
CodeIgniter es un buen framework, utilizado por una gran comunidad de usuarios. Construido para codificadores PHP que necesitan una herramienta de desarrollo fácil para crear aplicaciones web simples y elegantes.
Ventajas:
Amplia documentación disponible.
Ligero, y sin instalación (para comenzar a desarrollar una aplicación basta con copiar los archivos, y ponerse a trabajar).
Compatibilidad con una amplia variedad de servidores y configuraciones (la aplicación se concebiría para ejecutarse en un hosting compartido con otros clientes, y con relativamente poca posibilidad de configuración).
Flexibilidad, ya que no obliga a tener una determinada estructura de tablas, nombres de campos, ni adherirse a una forma de programar concreta.
Desventajas:
Curva de aprendizaje: necesidad de aprender nuevas funciones, estructuras y métodos de programación.
Dificultad para adaptar el código escrito en PHP tradicional (nuestra empresa contaba con una administración escrita en PHP puro, con listados, formularios, subida de archivos, etc.). No disponíamos de tiempo para comenzar de cero, por lo que se optó por adaptar el existente a la nueva filosofía. Esto no debería representar mucha dificultad para un programador avanzado, con experiencia en desarrollo de proyectos de complejidad media.
CakePHP es un framework para php que nos permite programar más rápido evitándonos escribir código tedioso de tareas muy comunes.
Ventajas:
Tiene una comunidad muy activa, desde la bakery hasta los grupos en google y este grupo en español cakePHP-es..
Licencia flexible – CakePHp está distribuido bajo la MIT License
IP limpia – Cada línea de código está escrita por el equipo de desarrollo de CakePHP
Extremadamente simple – Sólo ve el nombre es Cake (pastel)
Desarrollo rápido – Construye aplicaciones más rápido que antes.
Buenas prácticas – Cake es muy fácil de entender y cumple los estándares en seguridad y autentificación, manejo de sesiones y muchas otras características.
Orientado a Objetos – Si te gusta la programación orientadada a objetos que bien y si eres principiante te sentirás cómodo.
Cero Configuración – Solamente pon la información de la base de datos y la magia comenzará.
Desventajas:
Ninguna oferta de formación está disponible para este framework.
No ofrecen más apoyo que foros, listas de correo y Google Grupos.
Ninguna protección por definición de la licencia MIT.
Otros:
El framework Seagull, nos permite realizar una programación modular, posee un Sistema de Gestión de Contenidos (CMS). Entre sus características de encuentran su compatibilidad con PHP 4 y PHP 5, ORM integrado, incorpora el patrón MVC, uso de templates, soporte para múltiples bases de datos, validación de datos, alto nivel de configuración, autentificación, integración de librerías PEAR.
Prado está basado en componentes eventos con el objetivo de acelerar el desarrollo de aplicaciones web usando PHP 5. El concepto del desarrollo de aplicaciones en Prado es diferente, se utilizan componentes, eventos y propiedades en vez de procedimientos, URL y parámetros.
Zoop es un Framework PHP Orientado a Objeto basado en el modelo MVC, sus desarrolladores lo caracterizan por ser rápido, eficiente y fácil destinado para programadores.
WACT facilita un aprovechamiento modular, sus componentes permiten la integración con otras aplicaciones web. Implementa el patrón MVC. La versión actual de WACT requiere PHP 5, por ahora solo está disponible desde Subversión.
Symfony está desarrollado en PHP5, se puede utilizar en plataformas *nix (Unix, Linux) y Windows. Requiere de una instalación, configuración y líneas de comando, incorpora el patrón MVC, soporta AJAX, plantillas y un gran número de bases de datos. Es un Framework similar a CodeIgniter de desarrollo rápido. Es una estructura de librerías y clases para programar aplicaciones web. Su base es el Framework de Ruby on Rails.
Conclusiones
Podemos afirmar que los Frameworks representan una arquitectura de software que modela las relaciones generales de las entidades. Proveen una estructura de trabajo la cual extienden o utilizan las aplicaciones.
Todos los frameworks antes mencionados son perfectamente valiosos para el desarrollo de aplicaciones de diversos tipos, compatibles además con PHP5 y capaces de soportar múltiples bases de datos y objetos DB, excepto Prado, que no soporta objetos DB ni MVC. CakePHP, Seagull, WACT, ZOOP y CodeIgniter pueden de manera adicional ejecutarse utilizando PHP4 y solo en el caso de WACT no se admite el almacenamiento en caché.
En el caso particular de Symfony, añade una nueva capa por encima de PHP y proporciona herramientas que simplifican el desarrollo de las aplicaciones web. Su comprensión se centra en el conocimiento de conceptos básicos de la programación moderna, sobre todo acerca de la programación orientada a objetos (OOP), el mapeo de objetos a bases de datos (ORM) y el desarrollo rápido de aplicaciones (RAD), teniendo como único requisito técnico para su manipulación el conocimiento previo de PHP 5.
Se considera que este trabajo conduce a una investigación mucho más profunda y abarcadora del tema en cuestión, pero, aun así, resulta un estimulante acercamiento a la utilización de frameworks para el desarrollo de aplicaciones con PHP.
Recomendaciones
Profundizar en la investigación acerca de los frameworks más utilizados por la comunidad de desarrolladores ya que generalmente poseen una extensa documentación y que este trabajo se ve imposibilitado de abarcar en su totalidad.
Analizar las características, tiempo, disponibilidad y nivel de prestaciones de las aplicaciones a desarrollar en aras de realizar siempre la elección del framework más adecuado.
Bibliografía
Age, Clever. Libro blanco sobre frameworks PHP para empresas. 4 julio de 2008
Argulo, Iván y Campos, Emilio. Usando CodeIgniter en un proyecto real. http://comunidadcodeigniter.wordpress.com/
ASP.NET MVC Framework. http://thinkingindotnet.wordpress.com/2007/10/16/aspnet-mvc-framework/
. Comparación de 10 frameworks de php. http://pwneds.blogspot.com/2007/11/comparacion-de-10-frameworks-de-php.html
. Framework. http://es.wikipedia.org/wiki/Framework
. Frameworks en PHP y su lógica de programación. http://www.perulinux.com.pe/articulos/frameworks-en-php-y-su-logica-de-programacion-I
. Pérez Valdés, Damián. Los Frameworks de PHP agilizan tu trabajo. ww.maestrosdelweb.com/editorial/los-frameworks-de-php-agilizan-tu-trabajo/
. PHP. http://es.wikipedia.org/wiki/.php#Historia
. Potencier, Fabien. Symfony la guía definitiva. 13 de julio de 2008.
. Primeras impresiones sobre Symphony. http://php.apsique.com/contenido/primeras_impresiones_sobre_symfony
. Symfony. http://es.wikipedia.org/wiki/Symfony
Autor:
Ing. Mallelín Bolufé Chávez
Ing. Maikel Menendez Mendez
Cuidad de la Habana, Cuba
Mayo de 2009
Página anterior | Volver al principio del trabajo | Página siguiente |