Como bien sabréis, uno de los servicios que en Thaira ofrecemos es el desarrollo de aplicaciones web a medida. Muchas webs que se desarrollan actualmente siguen un mismo patrón (acceso a bases de datos, direcciones web amigables, menús de administración, etc…), por lo que siempre se acaban haciendo tareas repetitivas y/o muy parecidas. Para evitar tener que hacer una y otra vez lo mismo (también conocido como “reinventar la rueda”), hace tiempo que hemos decidido utilizar una herramienta que simplifica el desarrollo y permite que nos concentremos en lo que realmente importa: los detalles, el diseño y la perfección en su proyecto.

Symfony es un framework PHP5 Open Source para el desarrollo de aplicaciones web. Con éste framework profesional se pueden crear rápidamente aplicaciones web dinámicas, con conexión a bases de datos, usando modernas técnicas como AJAX, RSS, servicios web, entre otras.
Porqué escoger el framework Symfony?
Para el desarrollo de webs dinámicas en PHP hay diferentes frameworks disponibles, por ejemplo symfony, CakePHP, Zend, Solar y CodeIgniter, por citar algunos. En Thaira elegimos el framework symfony porqué es uno de los frameworks más completos y bien integrados, además de tener una gran comunidad Open Source muy activa y profesional. Symfony integra algunas de las mejores ideas y herramientas del mundillo PHP (una capa ORM como Propel o Doctrine, YAML, arquitectura MVC, etc.) y está inspirado en otros frameworks como los citados anteriormente, además del archipopular Ruby on Rails.
Además de éstas ventajas, el framework Symfony se puede extender fácilmente con código propio, o bien con funciones / código de otros frameworks y librerÃas. De esta forma los desarrolladores ganan tiempo en el proceso de desarrollo de la aplicación y consiguen un código más mantenible y testeable. También hay que mencionar la gran popularidad de la que goza dicho framework, tanto en España como en el mundo entero.


Entre las múltiples ventajas técnicas de Symfony podrÃamos citar:
- Todo el código está orientado a objetos y completamente en PHP5.
- Implementación del patrón de diseño Modelo-Vista-Controlador (MVC) para una estructura clara y flexible.
- Abstracción de bases de datos vÃa Mapeo Relacional de Objetos (ORM): las tablas de la base de datos están disponibles como objetos en el código. La capa ORM está basada en Propel o Doctrine.
- Generación automática y configurable de “secciones de administración”.
- Integración de las librerÃas javascript más populares (jQuery, Prototype, Scriptaculous, YUI, entre otras), las cuales incluyen de serie funciones AJAX listas para usar en nuestra aplicación (autocompletados, drag&drop…).
- Avanzado sistema de cache que puede integrarse con otros sistemas de caché existentes, como caché de archivos, APC, memcache, y otros.
- Un parseador YML (YAML) propio, de forma que los ficheros de configuración y la descripción del modelo de datos pueden ser descritos de forma sencilla y rápida (a diferencia de los ficheros XML, con un sinfÃn de tags de apertura y cierre).
- Documentación de gran calidad, asà como una amplia (y activa) comunidad de desarrolladores.
- Symfony genera código orientado a objetos para las funcionalidades más comunes del manejo de bases de datos.
- Genera interfaces CRUD (Crear Leer Actualizar Eliminar) para las tablas de la base de datos.
- Permite trabajar en distintos ambientes; producción, desarrollo (en el que se activa una barra de herramientas para depuración), test, pero también es posible crear uno propio.
- Contiene 8.500 test unitarios y funcionales totalmente automáticos, dando como resultado uno de los frameworks más estables y robustos.
- Muy adecuado para metodologÃas ágiles de desarrollo como XP (Extreme Programming) o Scrum.
Beneficios de Symfony para el cliente
Las anteriores ventajas són de gran utilidad para el desarrollador, pero cuáles son exactamente los beneficios que le aporta como cliente utilizar un framework como Symfony? Para resumir un poco podrÃamos citar:
- Rápido desarrollo de webs “hechas a medida”, construidas con técnicas sobradamente probadas y estándar.
- Menos errores debido al uso de código fuente ampliamente probado y menos lÃneas de código (por lo que también hay menos probabilidades de error y menor coste).
- Implementación de las últimas tendencias, como AJAX y la ideologÃa Web2.0, MVC, framework de Formularios, facilidad para testeo automatizado, etc.
- Independencia total de base de datos, debido a la capa ORM Propel o Doctrine.
- Las aplicaciones web resultantes son más sencillas de mantener y/o ampliar debido al uso de la estructura MVC (Model View Controller) que divide la aplicación en capas separadas. De esta forma se facilita (y acelera) a los nuevos desarrolladores la comprensión del código de una web existente.
- Publicado bajo la licencia open source MIT. Ésta es una licencia libre que permite cualquier uso del framework para fines comercial, y no obliga a que el código resultante se tenga que publicar bajo esta misma licencia open source.
- Sensio, la empresa detrás del framework Symfony garantiza un soporte al usuario.
- Calidad y valor contrastados por el uso en grandes proyectos de éxito que reciben millones de visitas mensuales, como Yahoo! Answers, Delicious, y Dailymotion entre otros.

Si le interesa conocer más a fondo este gran framework, puede acudir a sitios como:
Actualización:
Nos sumamos a las votaciones anuales de sourceforge.net, apoyando (como no podria ser de otra forma) a nuestro framework favorito 
