¿Qué es Symfony?

DESARROLLO WEB, CLOUD NATIVE.
IMAGEN BLOG SYMFONY 0

En Aplyca utilizamos Symfony en muchos de nuestros proyectos, ya que es un framework de alta calidad, con soporte sólido y fácil de mantener: Symfony es maduro, estable, profesional y está muy bien documentado.

El proyecto Symfony es un conjunto de componentes PHP que está compuesto por un framework de aplicaciones web, una filosofía de trabajo y una comunidad de desarrolladores, todos trabajando colaborativamente.

  • Framework Symfony: Es el principal framework de PHP para crear sitios y aplicaciones web, construido con los componentes más destacados, usados y avanzados del mismo symfony.

  • Componentes de Symfony: Se trata de un grupo independiente de componentes reutilizables con los cuales se construyen las mejores y más populares aplicaciones web, tales como Drupal, phpBB y eZ Publish.

  • Comunidad Symfony: Se trata de una enorme comunidad de fans de Symfony los cuales están comprometidos a llevar al lenguaje PHP a un nivel mucho más alto.

  • Filosofía Symfony: Promueve el profesionalismo, las mejores prácticas, las normalizaciones y la interoperabilidad de las aplicaciones.

Números interesantes del proyecto Symfony hasta ahora:

  • Más de 3.000 contribuidores.

  • Más de 300.000 desarrolladores.

  • Mas de 48.000.000 de descargas al mes.

¿Por qué debería usar un framework?

El uso de un framework no es totalmente necesario, pero es una de las herramientas disponibles con las que se puede desarrollar mejor código y más rápido, para más información conozca nuestra última entrada en el Blog sobre: “12 Factor App” - Aplicaciones exitosas SaaS.

Es mejor porque un framework le proporciona la certeza de que se desarrolla una aplicación que está acorde y conforme con las reglas del negocio o empresa, que está totalmente estructurada, y que es a la vez mantenible y actualizable según las necesidades.

Es más rápido porque les permite a los desarrolladores ahorrar tiempo y trabajo mediante la reutilización de módulos genéricos para centrarse en otras zonas que necesiten mayor enfoque.

Invertir en las tareas, no en tecnologías

Este es el principio básico de un framework: No tener que reinventar la rueda ni pensar en avances innecesarios, así como acabar con las tareas de bajo valor que no le contribuyan nada a la organización (por ejemplo, con el desarrollo de componentes genéricos), todo esto con el fin de enfocarse plenamente en las reglas del negocio.

Por ejemplo, el framework hará que el desarrollador necesite solamente 2 o 3 días para crear un formulario de autenticación (que no es una tarea específica). El tiempo que se ahorra en esta actividad puede ser dedicado a componentes más específicos, así como a sus correspondientes pruebas unitarias, obteniendo un código sólido, sostenible y de alta calidad.

Actualización y mantenimiento garantizado

Un framework es capaz de garantizar una vida larga a las aplicaciones. Si un equipo de desarrolladores trabaja a su manera, con sus criterios propios, solo ellos  serán capaces de actualizar y de dar mantenimiento a las aplicaciones de manera fácil.

La estructura del framework evita por completo este tipo de “trampas” y permite que cualquier desarrollador sea capaz de actualizar y darle mantenimiento a una aplicación cuando sea necesario, así no haya participado en su construcción.

Esto no quiere decir que un framework sea una especie de “caja negra”. En el caso de symfony, el framework sigue siendo PHP, pero las aplicaciones que se desarrollan en este framework no están limitadas a él, ya que son completamente interoperables, por ejemplo, con otra librería de PHP.

6 razones para usar Symfony

  • Reputación: Desde su lanzamiento en el año 2005, Symfony ha sido adoptado por desarrolladores profesionales en todo el mundo. Este framework hoy en día es reconocido por su entorno estable y por su funcionalidad, y cada día aumentan significativamente las opiniones positivas respecto al mismo. Además, Symfony posee una participación activa de una gran comunidad compuesta por desarrolladores, integradores y otros usuarios que ayudan al mejoramiento constante de esta herramienta.

  • Permanencia: SensioLabs es el nombre de la empresa detrás de este framework, la cual fue creada hace casi dos décadas y es una agencia web con cuentas muy importantes entre sus clientes. Symfony fue concebido para satisfacer las necesidades de dicha empresa y hoy en día sigue siendo la herramienta utilizada para desarrollar sus proyectos y los de sus clientes. Se puede decir que Symfony fue desarrollada por profesionales para profesionales.

  • Referencias: Symfony tiene la confianza de cientos de aplicaciones de diferentes tamaños y tipos, incluyendo intranets, páginas de sitios públicos en general, redes sociales, comunidades, aplicaciones de gestión y de trabajo, entre otros. Algunos ejemplos son Yahoo, Dailymotion, Opensky.com y aplicaciones como phpBB y Drupal.

  • Innovación: Symfony tiene todo lo que se busca en un framework: velocidad, flexibilidad y reutilización de componentes, entre otros. Además, su estructura para el desarrollo y para generar mejores prácticas lo llevan más allá de PHP, tratando de adaptar nuevas ideas al mundo de PHP, como por ejemplo con la inclusión de dependencia de Java.

  • Recursos: Cuando trabaja con Symfony, nunca está solo, usted cuenta con apoyo de una gran comunidad, con el soporte de la empresa y con servicio de consultoría.

  • Interoperabilidad: La idea principal detrás de Symfony es no limitarse a Symfony. Usted puede construir aplicaciones que satisfagan sus necesidades, mientras lo haga respetando estándares de PHP, convenciones de nomenclatura de clases, etc. La interoperabilidad de Symfony es tal que en el núcleo utiliza bloques de construcción de software externo (Doctrina ORM, Swiftmailer, etc.).

Symfony 4

pasted image 0 0

El 30 de noviembre de 2017 fue liberada la nueva versión de Symfony.

Internamente, Symfony 4.0 es el Symfony 3,4 sin el deprecaciones, pero al verlo desde afuera las cosas cambian. Cambió el proceso de instalación y la estructura del directorio mediante el uso de paquetes de la codificación, los cuales se hicieron para mejorar la experiencia del desarrollador en el framework.

Symfony puede ser usado para crear aplicaciones web de manera fácil, así como para construir otros marcos encima de éstas. Este proceso es complicado pero se puede “ocultar” de la vista del desarrollador en esta versión.

Se debe recordar que Symfony 4 requiere de la versión 7.1.3 o superior de PHP, así que debe asegurarse de que su entorno está actualizado.

Instalación

Cuando se lanzó Symfony 2 la instalación se realizaba con una sola descarga .zip. Luego, Symfony adoptó el composer, es decir, cambio a composer create-project symfony/symfony-standard-edition PROJECT_NAME. Dicho comendo resultó ser un poco problemático:

  • La “standard edition” era un paquete enorme y era demorado que el composer resolviera todas las dependencias.

  • Los nuevos desarrolladores no sabían realmente de qué se trataba la “standard edition”.

  • La “standard edition” tiene incorporada una simple demostración, así que si deseaba iniciar un nuevo proyecto debía eliminar algunos archivos de ejemplo.

En el año 2015, se anunció un nuevo instalador de Symfony en el que se resolvió el problema de la sincronización, ya que se descarga de nuevo el archivo .zip, en lugar de colocar el composer. Además, se resolvió el problema de la “app demo”, incorporando los comandos “separate symfony” para los nuevos proyectos.

Estos son los únicos paquetes que se necesitan para ejecutar el framework, lo que significa que:

  • No hay ningún ORM predeterminado

  • No hay plantillas predeterminadas

  • Ningún otro componente es necesario para cada proyecto (como plantilla, seguridad, etc).

Si su organización tiene interés en implementar proyectos Cloud de la mano de expertos, usando tecnología Symfony, lo invitamos a contactarnos.

También te puede interesar:También te puede interesar: