What is Symfony

« Symfony es un proyecto PHP de software libre que permite crear aplicaciones y sitios web rápidos y seguros de forma profesional »

Symfony para programadores

Definición: « Symfony es un framework PHP de tipo full-stack construido con varios componentes independientes creados por el proyecto Symfony »

Principales características

  • Su código, y el de todos los componentes y librerías que incluye, se publican bajo la licencia MIT de software libre.
  • La documentación del proyecto también es libre e incluye varios libros y decenas de tutoriales específicos.
  • Aprender a programar con Symfony te permite acceder a una gran variedad de proyectos: el framework Symfony2 para crear aplicaciones complejas, el micro framework Silex para sitios web sencillos y los componentes Symfony para otras aplicaciones PHP.
  • Según GitHub, Symfony es el proyecto PHP más activo, lo que garantiza que nunca te quedarás atrapado en un proyecto sin actividad. Además, el líder del proyecto, Fabien Potencier, es la segunda persona más activa del mundo en GitHub (ver datos).
  • Aunque en su desarrollo participan cientos de programadores de todo el mundo, las decisiones técnicas importantes siempre las toma Fabien Potencier, líder del proyecto. Esto evita el peligro de que surjan forks absurdos y la comunidad se fragmente.
  • Los componentes de Symfony son tan útiles y están tan probados, que proyectos tan gigantescos como Drupal 8 están construidos con ellos.
  • En todo el mundo se celebran varias conferencias dedicadas exclusivamente a Symfony. Para que te hagas una idea del tamaño de la comunidad, la conferencia Symfony española (llamada deSymfony) es el evento PHP más grande del país.

Symfony para administradores de sistemas

Definición: « Symfony es un conjunto de librerías que se utilizan para crear aplicaciones PHP »

Principales características

  • Las versiones actuales de Symfony requieren disponer de PHP 5.3.8 o superior. Así evitas instalar en tus servidores versiones PHP peligrosas llenas de problemas de seguridad y a la vez no es un requisito técnico demasiado exigente.
  • En producción, las aplicaciones Symfony solamente necesitan permiso de escritura en dos directorios internos de la propia aplicación. Además, Symfony incluye varias herramientas gráficas y de consola para depurar fácilmente los errores que se produzcan en las aplicaciones.
  • Para evitar el uso de contraseñas en archivos de configuración, Symfony permite establecer los parámetros de configuración de las aplicaciones a través de variables de entorno del propio servidor.
  • La seguridad es tan importante para el proyecto Symfony, que antes de su lanzamiento, se encargó una auditoría de seguridad a una empresa independiente (ver resultados de la auditoría).
  • La herramienta Capifony (basada en el proyecto Capistrano y creada por miembros de la comunidad Symfony) simplifica el deploy de las aplicaciones Symfony, incluso en múltiples servidores y bases de datos.
  • La excelente herramienta Composer, que simplifica de forma radical la instalación y gestión de las dependencias de las aplicaciones PHP, también ha sido creada por varios miembros de la comunidad Symfony.

Symfony para responsables técnicos (CTO)

Definición: « Symfony es un framework para crear aplicaciones y sitios web con PHP »

Principales características

  • 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.

Symfony para perfiles no técnicos

Definición: « Symfony es una aplicación informática que facilita la creación de sitios y aplicaciones web »

Symfony fue creado originalmente por una empresa francesa llamada SensioLabs, pero actualmente lo utilizan empresas de todo el mundo.

Symfony es muy popular entre los programadores PHP de Europa y, especialmente, entre los programadores españoles. La conferencia anual sobre Symfony organizada en España (y que se llama deSymfony) es el evento PHP más grande del país y la segunda conferencia más importante del mundo sobre Symfony.

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.