phpBB – Instituto FOC | Informática ONLINE | FP Informática ONLINE

¿Por qué usar Symfony?

Una de las opciones que tenemos a la hora de comenzar a desarrollar una aplicación es la de usar un Framework de desarrollo. Estos nos ayudan en la programación de la misma, aliviando la programación de partes que normalmente son comunes a todas las aplicaciones gracias a la reutilización de módulos y componentes genéricos.

De este modo no tenemos que preocuparnos de la programación común de estos módulos y podemos centrarnos en los desarrollos de las funciones específicas de nuestra aplicación.

Dentro de este grupo, encontramos varios framework entre los que elegir:

·         Symfonyfoc-framework-de-desarrollo

·         Zend

·         YII

·         Laravel

·         CakePHP

·         Codelfniter

·         Etc…

Bien en ese post quiero hablar de uno de ellos, concretamente Symfony. Pero ¿Por qué usar Symfony?

  • En primer lugar hemos de indicar que es un framework construido en lenguaje PHP que hace que sea bastante sencillo tocarle a su código o añadirle código nuevo.
  • Sus componentes desacoplados se usan tanto para aplicaciones PHP como para módulos Drupal, phpBB y eZPubliz y otros…
  • La comunidad de desarrolladores es de las más amplias y como ocurre con los plugin de WordPress, encontraremos códigos por servibles, pero por el contrario encontraremos códigos altamente reutilizables y casi en la mayor parte de los casos gratuitos.
  • En la elaboración de los módulos se siguen unas normas que hacen que el código sea muy estándar y profesional, haciendo muy sencilla la interoperabilidad entre distintas aplicaciones. Tanto es así que permite la creación de software con módulos externos (ORM Doctrine, SwiftMailer, etc).
  • Es importante saber también que detrás de symfony hay una empresa (Sensiolabs), creada hace mas de 12 años que nos da cierta seguridad a la hora de afrontar un proyecto por las perspectivas de permanencia.
  • Symfony aporta todo lo que esperamos de un Framework de desarrollo: velocidad, flexibilidad, componentes reutilizables, etc.

foc-symphony-php

Los elementos comunes que aporta symfony son:

  • La capa de internacionalización que incluye Symfony permite la traducción de los datos y de la interfaz, así como la adaptación local de los contenidos.
  • Los formularios incluyen validación automatizada y relleno automático de datos «repopulation»), lo que asegura la obtención de datos correctos y mejora la experiencia de usuario.
  • La autenticación y la gestión de credenciales simplifican la creación de secciones restringidas y la gestión de la seguridad de usuario.
  • La capa de presentación utiliza plantillas y layouts que pueden ser creados por diseñadores HTML sin ningún tipo de conocimiento del framework. Los helpers incluidos permiten minimizar el código utilizado en la presentación, ya que encapsulan grandes bloques de código en llamadas simples a funciones.
  • Los datos incluyen mecanismos de escape que permiten una mejor protección contra los ataques producidos por datos corruptos.
  • La gestión de la caché reduce el ancho de banda utilizado y la carga del servidor.
  • El sistema de enrutamiento y las URL limpias permiten considerar a las direcciones de las páginas como parte de la interfaz, además de estar optimizadas para los buscadores.
  • El soporte de e-mail incluido y la gestión de APIs permiten a las aplicaciones web interactuar más allá de los navegadores.
  • Los listados son más fáciles de utilizar debido a la paginación automatizada, el filtrado y la ordenación de datos.
  • Los plugins, las factorías (patrón de diseño «Factory») y los eventos otorgan al código del framework una gran flexibilidad.

No obstante antes de comenzar un proyecto, no estaría de más sentarse y ver cual de los Framework se adapta mejor a nuestras necesidades y en base a eso elegir el más adecuado. Normalmente será el tipo de proyecto y los requisitos del mismo el que nos indique qué framework es el más adecuado.

fp-foc