Está en la página 1de 4

Introduccin

La evolucin en el desarrollo de aplicaciones web para mltiples usos, utilizando a PHP como lenguaje de
programacin y teniendo como objetivos mejorar la rapidez, productividad y profesionalidad de los productos que se
obtengan, ha propiciado el surgimiento en el mercado para tal fin, de un conjunto de soportes que incluyen a su vez
un sin nmero de bibliotecas de gran utilidad para desarrollar y unir los diferentes componentes de un proyecto, los
denominados Frameworks.
El objeto de investigacin de este trabajo es precisamente el anlisis de algunas de las variedades de frameworks
existentes para PHP, que gozan actualmente de mayor popularidad entre la comunidad de desarrolladores.
En un intento de condensar en pocas pginas una lnea tan amplia de conocimiento, se ha realizado una breve
descripcin de cada uno de ellos, as como de algunas de sus ventajas y desventajas, encaminado esto a contribuir
en la eleccin del que ms se adecue a las necesidades de la aplicacin que se desarrolle.
Frameworks para PHP
Framework
Un framework, en el argot utilizado por los desarrolladores de software, es una estructura de soporte definido,
mediante la cual otro proyecto de software puede ser organizado y desarrollado. Tpicamente, puede incluir soporte
de programas, bibliotecas y un lenguaje interpretado para ayudar a desarrollar y unir los diferentes componentes de
un proyecto.
Son diseados con la intencin de facilitar el desarrollo de software, permitiendo a los diseadores y programadores
pasar ms tiempo identificando requerimientos de software que tratando con los tediosos detalles de bajo nivel para
proveer un sistema funcional, entre otras muchas cosas, nos ofrecen la posibilidad de usar formularios, acceso a
bases de datos, envos de mail, etc. sin necesidad de tener que programarlos desde cero.
En sentido general podemos decir que los frameworks ofrecen una infraestructura que permite a los desarrolladores
tener un cdigo ms ordenado, limpio y fcil de actualizar, un cdigo ms seguro y robusto y mucho ms eficiente.
Frameworks vs aplicaciones desde cero con PHP
Muchos de los detractores del uso de frameworks alegan que el costo del aprendizaje puede ser elevado, plantean
que el tiempo que supuestamente se ganara ,referido a la velocidad de desarrollo de la aplicacin, se invierte en el
estudio y adiestramiento, por tal motivo prefieren reutilizar algn cdigo desarrollado con anterioridad o proceder a
implementarlo desde cero, sin embargo existen razones fundadas para asegurar que el uso de estos soportes
contribuyen, sin duda alguna, a agilizar en gran medida la puesta a punto de las soluciones.
Algunas de estas razones, que influyen notablemente en el empleo de frameworks en lugar de desarrollar
aplicaciones desde cero con PHP son:
Que se dispone de componentes plenamente probados que simplificarn las tareas de programacin y
reducirn enormemente el trabajo repetitivo, con el objetivo de mejorar la productividad, construir todo tipo
de aplicaciones, agregar nuevas funcionalidades y extender las ya existentes.
Separacin de capas lgicas (MVC) con un controlador frontal.
La seguridad, factor clave en cualquier aplicacin. Los datos introducidos por el usuario deben de estar
debidamente validados y filtrados para evitar cualquier tipo de ataque.
La Comunicacin con Bases de Datos (MySQL) est perfectamente automatizada, y validadas todas las
consultas y el filtrando los datos variables para evitar inyeccin SQL.
Algunos de los Frameworks ms populares.
Existen numerosos frameworks para php, y muy frecuentemente, resulta difcil decidir cul de todos ellos funciona
mejor o es capaz de adaptarse ms a las particularidades y requerimientos propios del proyecto que se pretende
llevar a cabo, sobre todo, porque cada uno ofrece una amplia gama de funcionalidades que adicionan gran
versatilidad a las aplicaciones.
A continuacin se muestra un pequeo conjunto de Frameworks y se realiza una revisin breve de algunas de sus
caractersticas principales, ventajas y desventajas, en aras de cumplimentar el objeto de investigacin de este
trabajo, que es precisamente, ofrecer una panormica general del tema, para dejar a la comunidad de
desarrolladores la responsabilidad de profundizar y realizar la eleccin del Framework que consideren ms
adecuado. Algunos de los ms populares son:

El Zend Frameworks es simple, no necesita instalacin especial, requiere PHP 5 e incorpora el patrn MVC (Model
View Controller).
Ventajas:
Es desarrollado por Zend que es la empresa que respalda comercialmente a PHP.
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.
Clientes para servicios web, incluidos Google Data APIs y StrikeIron.
Muchas otras clases tiles para hacerlo tan productivo como sea posible.
Desventajas:
Ninguna proteccin por definicin de la licencia BSD.
No tiene mucha Independencia estratgica.
CodeIgniter es un buen framework, utilizado por una gran comunidad de usuarios. Construido para
codificadores PHP que necesitan una herramienta de desarrollo fcil para crear aplicaciones web simples y
elegantes.
Ventajas:
Amplia documentacin disponible.
Ligero, y sin instalacin (para comenzar a desarrollar una aplicacin basta con copiar los archivos, y
ponerse a trabajar).
Compatibilidad con una amplia variedad de servidores y configuraciones (la aplicacin se concebira para
ejecutarse en un hosting compartido con otros clientes, y con relativamente poca posibilidad de
configuracin).
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 mtodos de programacin.
Dificultad para adaptar el cdigo escrito en PHP tradicional (nuestra empresa contaba con una
administracin escrita en PHP puro, con listados, formularios, subida de archivos, etc.). No disponamos de
tiempo para comenzar de cero, por lo que se opt por adaptar el existente a la nueva filosofa. Esto no
debera 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 ms rpido evitndonos escribir cdigo
tedioso de tareas muy comunes.
Ventajas:
Tiene una comunidad muy activa, desde la bakery hasta los grupos en google y este grupo en espaol
cakePHP-es..
Licencia flexible - CakePHp est distribuido bajo la MIT License
IP limpia - Cada lnea de cdigo est escrita por el equipo de desarrollo de CakePHP
Extremadamente simple - Slo ve el nombre es Cake (pastel)
Desarrollo rpido - Construye aplicaciones ms rpido que antes.
Buenas prcticas - Cake es muy fcil de entender y cumple los estndares en seguridad y autentificacin,
manejo de sesiones y muchas otras caractersticas.
Orientado a Objetos - Si te gusta la programacin orientadada a objetos que bien y si eres principiante te
sentirs cmodo.
Cero Configuracin - Solamente pon la informacin de la base de datos y la magia comenzar.
Desventajas:
Ninguna oferta de formacin est disponible para este framework.
No ofrecen ms apoyo que foros, listas de correo y Google Grupos.
Ninguna proteccin por definicin de la licencia MIT.
Otros:
El framework Seagull, nos permite realizar una programacin modular, posee un Sistema de Gestin de
Contenidos (CMS). Entre sus caractersticas de encuentran su compatibilidad con PHP 4 y PHP 5, ORM
integrado, incorpora el patrn MVC, uso de templates, soporte para mltiples bases de datos, validacin de
datos, alto nivel de configuracin, autentificacin, integracin de libreras 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 parmetros.
Zoop es un Framework PHP Orientado a Objeto basado en el modelo MVC, sus desarrolladores lo
caracterizan por ser rpido, eficiente y fcil destinado para programadores.
WACT facilita un aprovechamiento modular, sus componentes permiten la integracin con otras
aplicaciones web. Implementa el patrn MVC. La versin actual de WACT requiere PHP 5, por ahora solo
est disponible desde Subversin.
Symfony est desarrollado en PHP5, se puede utilizar en plataformas *nix (Unix, Linux) y Windows.
Requiere de una instalacin, configuracin y lneas de comando, incorpora el patrn MVC, soporta AJAX,
plantillas y un gran nmero de bases de datos. Es un Framework similar a CodeIgniter de desarrollo rpido.
Es una estructura de libreras 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 adems con PHP5 y capaces de soportar mltiples 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, aade una nueva capa por encima de PHP y proporciona herramientas que
simplifican el desarrollo de las aplicaciones web. Su comprensin se centra en el conocimiento de conceptos bsicos
de la programacin moderna, sobre todo acerca de la programacin orientada a objetos (OOP), el mapeo de objetos
a bases de datos (ORM) y el desarrollo rpido de aplicaciones (RAD), teniendo como nico requisito tcnico para su
manipulacin el conocimiento previo de PHP 5.
Se considera que este trabajo conduce a una investigacin mucho ms profunda y abarcadora del tema en cuestin,
pero, aun as, resulta un estimulante acercamiento a la utilizacin de frameworks para el desarrollo de aplicaciones
con PHP.
Recomendaciones
Profundizar en la investigacin acerca de los frameworks ms utilizados por la comunidad de
desarrolladores ya que generalmente poseen una extensa documentacin y que este trabajo se ve
imposibilitado de abarcar en su totalidad.
Analizar las caractersticas, tiempo, disponibilidad y nivel de prestaciones de las aplicaciones a desarrollar
en aras de realizar siempre la eleccin del framework ms adecuado.
Bibliografa
Age, Clever. Libro blanco sobre frameworks PHP para empresas. 4 julio de 2008
Argulo, Ivn 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/
. Comparacin 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 lgica de programacin. http://www.perulinux.com.pe/articulos/frameworks-en-php-y-su-
logica-de-programacion-I
. Prez Valds, Damin. 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 gua 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

También podría gustarte