¿QUE ES 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.
Symfony está desarrollado
completamente en PHP 5.3. Ha sido probado en numerosos proyectos reales
y se utiliza en sitios web de comercio electrónico de primer nivel. Symfony es
compatible con la mayoría de gestores de bases de datos, como MySQL, PostgreSQL, Oracle y Microsoft SQL Server. Se puede ejecutar tanto en plataformas *nix (Unix,
Linux, etc.) como en plataformas Windows.
BREVE HISTORIA DE
SYMFONY
En el año 2003, Fabien Potencier,
creador de Symfony, investigó acerca de las herramientasopen source existentes
para el desarrollo de aplicaciones web en PHP, pero ninguna de las existentes
cumplió con sus expectativas. Cuando PHP 5 fue liberado, consideró que las
herramientas que existían en ese momento habían madurado lo suficiente para ser
integradas en un solo framework. Le llevó un año desarrollar el
núcleo de Symfony. Basó su trabajo en el Modelo Vista Controlador, el ORM de Propel y el ayudante para realizar plantillas de Ruby on Rails.
La primera versión de Symfony fue
lanzada en octubre de 2005, por Fabien Potencier. Originalmente fue creado para
el desarrollo de las aplicaciones de Sensio. Luego, tras el éxito que tuvo en
el desarrollo de una página web para comercio electrónico y algunos otros proyectos, decidió liberarlo bajo
una licencia open source.
PATROCINANTE
Symfony es patrocinado por Sensio
Labs, una compañía francesa que provee consultoría, servicios, formación sobre
tecnologías open source. Inicialmente fue nombrado Sensio Framework, y a
todas sus clases se les aplicó el prefijo sf. Tiempo después, cuando se decidió
lanzarlo como un framework open source, se
acordó llamarle Symfony.
CARACTERISTICAS
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 ORM (Doctrine 2, Propel), permiten cambiar con
facilidad de SGBD en cualquier fase del proyecto.
·
Utiliza programación orientada a objetos y características como los
espacios de nombres, de ahí que sea imprescindible PHP 5.3.
·
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 adaptables 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.
CARACTERISTICAS
PARA EL DESARROLLO AUTOMATIZADO DE
PROYECTOS
Las características más comunes para
el desarrollo de proyectos web están automatizadas en Symfony, tales como:
·
Permite la internacionalización para la traducción del texto de la
interfaz, los datos y el contenido de localización.
·
La presentación usa templates y layouts que
pueden ser construidos por diseñadores de HTML que no posean conocimientos del framework.
·
Los formularios soportan la validación automática, lo cual asegura mejor
calidad de los datos en las base de datos y una mejor experiencia para el
usuario.
·
El manejo de cache reduce el uso de banda ancha y la carga del servidor.
·
La facilidad de soportar autenticación y credenciales facilita la creación
de áreas restringidas y manejo de seguridad de los usuarios.
·
El enrutamiento y las URLs inteligentes hacen amigable las direcciones de las
páginas de la aplicación.
·
Las listas son más amigables, ya que permite la paginación,
clasificación y filtraje automáticos.
·
Los plugins proveen
un alto nivel de extensibilidad.
·
La interacción con AJAX es mucho más sencilla.
·
LAS VENTAJAS TECNOLOGICAS
· Rápido y consumo menor de memoria: Un error
común en el desarrollo de aplicaciones es la de considerar el rendimiento o
velocidad de la aplicación cuando la implementación ha terminado. Symfony2 fue
concebido desde el principio para favorecer el rendimiento. Symfony2 es
aproximadamente tres (3) veces más rápido que la versión 1.4 o de 1.10 de Zend
Framework, usando la mitad de consumo de memoria.
· Flexibilidad ilimitada: Symfony2 es
adaptable.
• Gestión de la complejidad: Permite
desarrollar aplicaciones complejas con múltiples funcionalidades.
• Pieza a pieza: Permite construir de
acuerdo con las funciones requeridas.
• Microframework: Symfony2 se puede
utilizar para desarrollar una funcionalidad específica. Sin tener que
reconstruir todo y sin necesidad de instalar todo el framework, sólo la pieza
concreta requerida.
• Soporte: Proporcionado por Sensio,
adicionalmente la comunidad (listas de correo, IRC, etc.) y las empresas de
servicios que han invertido en este framework.
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 la más
pequeña pieza 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 framework, 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 permite todo cambio dentro
de Symfony, incluyendo el propio núcleo. Uso de contratos de la interfaz del
sistema entre las piezas, el comportamiento del framework 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.
EN CONCLUSION:
FINALMENTE: « Symfony es un proyecto PHP de software libre que permite crear
aplicaciones y sitios web rápidos y seguros de forma profesional »« Symfony
es un conjunto de librerías que se utilizan para crear aplicaciones PHP » «
Symfony es un framework para crear aplicaciones y sitios web con PHP »« Symfony
es una aplicación informática que facilita la creación de sitios y aplicaciones
web »
·
Su licencia de tipo MIT permite crear gratuitamente incluso aplicaciones comerciales.
·
Dispone de un plan de
lanzamientos predecible, con versiones estables mantenidas durante tres años.
·
Su primera versión se publicó en el año 2005, por lo que es un proyecto maduro que ha sido probado en
decenas de miles de sitios y aplicaciones web (ver casos de
estudio).
·
Se trata del framework más popular en el mundo hispano, lo que facilita la búsqueda y
contratación de talento ya formado en Symfony.
·
Dispone de un programa de certificación para validar los conocimientos de los programadores
Symfony.
·
En su desarrollo participan cientos de programadores de todo el mundo,
pero las decisiones técnicas
importantes siempre las toma un reducido grupo de líderes, lo que garantiza que
se mantenga la visión del proyecto y evita la descoordinación.
·
Utilizar Symfony es
gratuito, incluso aunque crees aplicaciones y programas que después vendas a
otros clientes. A pesar de esta gratuidad, se ha desarrollado un ecosistema de
empresas que viven de Symfony gracias
a la formación, consultoría y desarrollo de proyectos.
para descargar esta informacion haga click :
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.
Symfony está desarrollado
completamente en PHP 5.3. Ha sido probado en numerosos proyectos reales
y se utiliza en sitios web de comercio electrónico de primer nivel. Symfony es
compatible con la mayoría de gestores de bases de datos, como MySQL, PostgreSQL, Oracle y Microsoft SQL Server. Se puede ejecutar tanto en plataformas *nix (Unix,
Linux, etc.) como en plataformas Windows.
En el año 2003, Fabien Potencier,
creador de Symfony, investigó acerca de las herramientasopen source existentes
para el desarrollo de aplicaciones web en PHP, pero ninguna de las existentes
cumplió con sus expectativas. Cuando PHP 5 fue liberado, consideró que las
herramientas que existían en ese momento habían madurado lo suficiente para ser
integradas en un solo framework. Le llevó un año desarrollar el
núcleo de Symfony. Basó su trabajo en el Modelo Vista Controlador, el ORM de Propel y el ayudante para realizar plantillas de Ruby on Rails.
La primera versión de Symfony fue
lanzada en octubre de 2005, por Fabien Potencier. Originalmente fue creado para
el desarrollo de las aplicaciones de Sensio. Luego, tras el éxito que tuvo en
el desarrollo de una página web para comercio electrónico y algunos otros proyectos, decidió liberarlo bajo
una licencia open source.
Symfony es patrocinado por Sensio
Labs, una compañía francesa que provee consultoría, servicios, formación sobre
tecnologías open source. Inicialmente fue nombrado Sensio Framework, y a
todas sus clases se les aplicó el prefijo sf. Tiempo después, cuando se decidió
lanzarlo como un framework open source, se
acordó llamarle Symfony.
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 ORM (Doctrine 2, Propel), permiten cambiar con
facilidad de SGBD en cualquier fase del proyecto.
·
Utiliza programación orientada a objetos y características como los
espacios de nombres, de ahí que sea imprescindible PHP 5.3.
·
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 adaptables 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 características más comunes para
el desarrollo de proyectos web están automatizadas en Symfony, tales como:
·
Permite la internacionalización para la traducción del texto de la
interfaz, los datos y el contenido de localización.
·
La presentación usa templates y layouts que
pueden ser construidos por diseñadores de HTML que no posean conocimientos del framework.
·
Los formularios soportan la validación automática, lo cual asegura mejor
calidad de los datos en las base de datos y una mejor experiencia para el
usuario.
·
El manejo de cache reduce el uso de banda ancha y la carga del servidor.
·
La facilidad de soportar autenticación y credenciales facilita la creación
de áreas restringidas y manejo de seguridad de los usuarios.
·
El enrutamiento y las URLs inteligentes hacen amigable las direcciones de las
páginas de la aplicación.
·
Las listas son más amigables, ya que permite la paginación,
clasificación y filtraje automáticos.
·
Los plugins proveen
un alto nivel de extensibilidad.
·
La interacción con AJAX es mucho más sencilla.
· Rápido y consumo menor de memoria: Un error
común en el desarrollo de aplicaciones es la de considerar el rendimiento o
velocidad de la aplicación cuando la implementación ha terminado. Symfony2 fue
concebido desde el principio para favorecer el rendimiento. Symfony2 es
aproximadamente tres (3) veces más rápido que la versión 1.4 o de 1.10 de Zend
Framework, usando la mitad de consumo de memoria.
· Flexibilidad ilimitada: Symfony2 es
adaptable.
• Gestión de la complejidad: Permite
desarrollar aplicaciones complejas con múltiples funcionalidades.
• Pieza a pieza: Permite construir de
acuerdo con las funciones requeridas.
• Microframework: Symfony2 se puede
utilizar para desarrollar una funcionalidad específica. Sin tener que
reconstruir todo y sin necesidad de instalar todo el framework, sólo la pieza
concreta requerida.
• Soporte: Proporcionado por Sensio,
adicionalmente la comunidad (listas de correo, IRC, etc.) y las empresas de
servicios que han invertido en este framework.
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 la más
pequeña pieza 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 framework, 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 permite todo cambio dentro
de Symfony, incluyendo el propio núcleo. Uso de contratos de la interfaz del
sistema entre las piezas, el comportamiento del framework 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.
FINALMENTE: « Symfony es un proyecto PHP de software libre que permite crear
aplicaciones y sitios web rápidos y seguros de forma profesional »« Symfony
es un conjunto de librerías que se utilizan para crear aplicaciones PHP » «
Symfony es un framework para crear aplicaciones y sitios web con PHP »« Symfony
es una aplicación informática que facilita la creación de sitios y aplicaciones
web »
·
Su licencia de tipo MIT permite crear gratuitamente incluso aplicaciones comerciales.
·
Dispone de un plan de
lanzamientos predecible, con versiones estables mantenidas durante tres años.
·
Su primera versión se publicó en el año 2005, por lo que es un proyecto maduro que ha sido probado en
decenas de miles de sitios y aplicaciones web (ver casos de
estudio).
·
Se trata del framework más popular en el mundo hispano, lo que facilita la búsqueda y
contratación de talento ya formado en Symfony.
·
Dispone de un programa de certificación para validar los conocimientos de los programadores
Symfony.
·
En su desarrollo participan cientos de programadores de todo el mundo,
pero las decisiones técnicas
importantes siempre las toma un reducido grupo de líderes, lo que garantiza que
se mantenga la visión del proyecto y evita la descoordinación.
·
Utilizar Symfony es
gratuito, incluso aunque crees aplicaciones y programas que después vendas a
otros clientes. A pesar de esta gratuidad, se ha desarrollado un ecosistema de
empresas que viven de Symfony gracias
a la formación, consultoría y desarrollo de proyectos.
para descargar esta informacion haga click :


