Symfony
Symfony es
un completo framework diseñado para optimizar el desarrollo de las aplicaciones
web basado en el patrón Modelo Vista Controlador. Para empezar, separa la
lógica de negocio, la lógica de servidor y la presentación de la aplicación
web. Proporciona varias herramientas y clases encaminadas a reducir el tiempo
de desarrollo de una aplicación web compleja. Además, automatiza las tareas más
comunes, permitiendo al desarrollador dedicarse por completo a los aspectos
específicos de cada aplicación. El resultado de todas estas ventajas es que no
se debe reinventar la rueda cada vez que se crea una nueva aplicación web.
Características
Symfony fue
diseñado para ajustarse a los siguientes requisitos:
- Fácil de
instalar y configurar en la mayoría de plataformas (y con la garantía de que
funciona correctamente en los sistemas Windows y *nix estándares).
- Independiente
del sistema gestor de bases de datos. Su capa de abstracción y el uso de
Propel, permiten cambiar con facilidad de SGBD en cualquier fase del proyecto.
- Utiliza programación
orientada a objetos, de ahí que sea imprescindible PHP 5.
- Sencillo de
usar en la mayoría de casos, aunque es preferible para el desarrollo de grandes
aplicaciones Web que para pequeños proyectos.
- Aunque
utiliza MVC (Modelo Vista Controlador), tiene su propia forma de trabajo en
este punto, con variantes del MVC clásico como la capa de abstracción de base
de datos, el controlador frontal y las acciones.
- Basado en la
premisa de “convenir en vez de configurar”, en la que el desarrollador sólo
debe configurar aquello que no es convencional.
- Sigue la
mayoría de mejores prácticas y patrones de diseño para la web.
- Preparado
para aplicaciones empresariales y adaptable a las políticas y arquitecturas
propias de cada empresa, además de ser lo suficientemente estable como para
desarrollar aplicaciones a largo plazo.
- Código fácil
de leer que incluye comentarios de phpDocumentor y que permite un mantenimiento
muy sencillo.
- Fácil de
extender, lo que permite su integración con las bibliotecas de otros
fabricantes.
- Una potente
línea de comandos que facilitan generación de código, lo cual contribuye a
ahorrar tiempo de trabajo.
Las ventajas
tecnológicas de Symfony
Más rápido y menos codicioso: En el mundo de TI, no es raro que
la gente se refiere al rendimiento de una aplicación... una vez que lleguen al
final del proyecto! Es decir, una vez que todo ha sido diseñado tanto en lo funcional
y los niveles de tecnología. Y a menos que usted tome todo menos una vez más,
la optimización del rendimiento no es precisamente una tarea fácil. Por otro
lado, Symfony2 fue concebido desde el principio para ser rápido y para
favorecer el rendimiento. A modo de comparación, Symfony2 es aproximadamente 3
veces más rápido que la versión 1,4 o de 1,10 Zend Framework, teniendo hasta 2
veces menos memoria.
Flexibilidad ilimitada: Sean cuales sean sus necesidades,
Symfony2 será adaptable. Su dependencia del inyector y el despachador de
eventos que sea totalmente configurable, con cada uno de los ladrillos son
totalmente independientes. A 3-en-1 marco, de todo tipo
• Línea indentada Stack completo (versión
completa): se quiere desarrollar una aplicación compleja y que necesita muchas
funcionalidades.
• Ladrillo por ladrillo: a construir su estructura
de acuerdo con las funciones que usted necesita
• Microframework: como un independiente, Symfony2
también se puede utilizar para desarrollar una funcionalidad específica en uno
de sus proyectos. Sin tener que reconstruir todo y sin necesidad de instalar
todo el marco, pero sólo el ladrillo concreto que usted necesita.
La permanencia es también algo que se relacione con
apoyo a largo plazo. Hoy en día, este apoyo es proporcionado por Sensio
naturalmente. Pero también hay todo un ecosistema que ha crecido alrededor de
Symfony desde su lanzamiento: la comunidad (listas de correo, IRC, etc) y las
empresas de servicios de muchos otros que han invertido en el marco.
Por último, también es con miras a un desarrollo
sostenible que Symfony se distribuye bajo licencia Open Source MIT, que no
impone restricciones y permite el desarrollo de código abierto, así como
aplicaciones propietarias.
Ampliable: Desde el más pequeño ladrillo a la base completa en sí, todo lo
que se presenta como un "paquete" (o plug-in en el lenguaje Symfony)
en Symfony2. Cada paquete está destinado para añadir funcionalidad al marco,
por supuesto, y cada paquete también puede ser reutilizada en otro proyecto o
compartida con el resto de la comunidad. En cualquier caso, el sistema de haces
permite que todo cambio dentro de Symfony, incluyendo el propio núcleo. Uso de
contratos de la interfaz del sistema entre los ladrillos, el comportamiento del
marco así puede ser cambiado a voluntad, sin necesidad de reconfiguración
completa.
Estable y sostenible: Desarrollado por los Laboratorios
Sensio, las principales versiones de Symfony son soportados por 3 años por la
empresa. E incluso de por vida en cuanto a las cuestiones relacionadas con la
seguridad se refiere. Para mayor estabilidad, las versiones menores del
contrato Symfony2 y la interfaz también están garantizadas y la compatibilidad
entre todas las versiones secundarias se llevará a cabo en el API definido por
las interfaces públicas.
La alegría de desarrollo: En un entorno altamente
funcional, Symfony2 también garantiza un cierto nivel de comodidad para los
desarrolladores. Al cuidar de una serie de tareas desagradables (desarrollo de
funcionalidades de menor importancia, por ejemplo), Symfony2 permite a los
desarrolladores centrarse en los aspectos más destacados reales de una
aplicación y para ambos completamente validar su papel y mejorar su
productividad. Entre las herramientas de Symfony diseñados para que el vida de
un desarrollador mucho más fácil, está la barra de herramientas de depuración
web legendario, así como soporte nativo para entornos de desarrollo, páginas de
error detallados o incluso de seguridad nativa.
Facilidad de uso: Completamente flexible para satisfacer las
necesidades de los profesionales y usuarios avanzados por igual, Symfony2 es
también muy accesible. Abundante documentación, la comunidad y el apoyo
profesional, y "incrustados" mejores prácticas dentro del marco (las
mejores prácticas que se aplican de forma nativa sin necesidad de ser
conscientes de ellos o entenderlos) permiten que un principiante se sienta muy
rápidamente a gusto con Symfony