En su nivel más simple, Zend Framework es una librería de componentes escritos en PHP5, para facilitar el desarrollo de sitios web. Como está basada en PHP5 (5.1.4 es la versión mínima necesaria), eso significa que es completamente Orientada a Objetos.

Zend Framework es Código Abierto. Y aún mucho mejor, se encuentra bajo una licencia BSD (la misma que posee PHP5) que nos permite distribuir Zend Framework junto a las aplicaciones que desarrollemos, sin tener que liberar todo con licencias GPL. Por esto mismo se dice que es una licencia muy business-friendly. No hay que preocuparse de cuestiones de copyright o patentes, nada.

Con Zend Framework, estamos hablando de más de 160.000 líneas de código, 100% PHP. La documentación representa más de 500 páginas, asegurándose que sea lo más completa y clara posible incluso ANTES de aceptar nuevos componentes al núcleo del Framework.

Y no se trata solamente del tamaño del proyecto. Zend Framework hace hincapié fundamentalmente en la calidad del código, a través de una batería de test unitarios, utilizando PHPUnit, cubriendo alrededor del 85% del código escrito para el Framework.

Y si todo esto aún no los convence, para mí el criterio más importante para medir la calidad de un proyecto, es que Zend Framework realmente se está usando. Cada vez más y más proyectos están naciendo basados en Zend Framework y son muchas veces quienes contribuyen mejoras a la base estable de código.

Objetivos del Framework

Zend Framework intenta incorporar componentes que solucionen el 80% de los problemas más comunes a la hora de desarrollar un sitio, pero sin crear una pieza de software monolítico que resuelva los problemas de todos.

Gracias a que está diseñado y programado con la Orientación a Objetos en mente, lograron componentes útiles, a la vez que extensibles, que permiten la personalización de código por parte de los desarrolladores, y de esta manera resolver el 20% restante de los problemas (los menos comunes).

No tenemos archivos de configuración complejos, inentendibles. Zend Framework se puede utilizar de inmediato una vez descargado y solo los componentes que deseemos. Si luego, en medio de nuestro desarrollo detectamos que es mejor utilizar algún tipo de configuración, por Base de Datos, XML, Archivos INI, entonces tenemos herramientas para llevarlo a cabo.

Cómo objetivo, Zend Framework persigue una meta muy clara: Simplicidad, ante todo. Busca tener una API muy fácil de aprender, de manera que como desarrolladores podamos comenzar a escribir aplicaciones rápidamente. Esta simplicidad se ve representada en tres puntos:

  • Simplicidad en el uso. Menos código y más simple de leer.
  • Simplicidad representa código más estable y con menos probabilidad de error.
  • Simplicidad para mantener luego el código.

Pero a no confundirnos, porque la simplicidad no significa que el código subyacente no sea complejo, tan solo que como desarrolladores, nos permite comenzar muy rápidamente a escribir aplicaciones desde cero (o no tanto de cero, ya veremos esto). De la complejidad se encarga Zend Framework.

Este es un breve resumen sobre qué es Zend Framework, y qué es a lo que apunta. En próximos artículos veremos como instalar un ambiente de desarrollo y comenzar a trabajar con el mismo.