944 063 154

Blog

Symfony 4.0: “su mejor versión”

Publicado enDesarrollo y Programación en diciembre 13, 2017 10:00 am

Symfony, el framework más completo para el desarrollo de todo tipo de aplicaciones web, lanza “su mejor versión”: Symfony 4.0. El proyecto, que fue lanzado hace más de 12 años para la creación de aplicaciones de Sensio programadas en PHP, fue liberado bajo una licencia opensource. Además, desde 2018 Symfony se ha convertido en una empresa independiente ajena a SensioLabs que presenta su versión 4.0 gracias a la colaboración de la comunidad.

Novedades Symfony

Symfony 4.0 es el resultado de la modernización y adaptación del framework a las nuevas necesidades; manteniendo los conceptos de Symfony pero con una implementación mejor. Algunas de las ‘ideas Symfony’ tradicionales se han sustituido por otras más acordes con los estándares de la industria del software libre. Todo ello ha dado como resultado una versión que ofrece mejores resultados con menos trabajo. La versión 4.0 de Symfony requiere de un menor aprendizaje al ser mucho más intuitivo y sencillo de configurar. Así, las horas de programación de la aplicación se reducen para que puedas emplear en otras tareas el tiempo dedicado a Symfony.

Entre las principales novedades que trae Symfony 4.0 destacan tres que simplifican la generación de código en el desarrollo de una aplicación y la automatización de algunas de las tareas de la programación con Symfony.

Symfony Flex

La nueva forma de instalar y gestionar componentes en aplicaciones desarrolladas con Symfony. Esta herramienta hace que instalar o eliminar dependencias sea mucho más sencillo. Con Symfony 4.0 no será necesario buscar en GitHub cómo instalar bundles, componentes, librerías o cómo activarlas en el kernel de la aplicación. El plugin Symfony Flex se encarga de automatizar ese tipo de tareas a la hora de programar aplicaciones con Symfony.

Symfony Flex permite instalar y configurar componentes automáticamente a través de recetas. El propio plugin ofrecerá la opción de ejecutar esa configuración automática si detecta una receta en el componente que se quiere instalar. Además, se evita la aplicación de una misma receta más de una vez y se han eliminado los archivos Makefile; que se han sustituido por Symfony Console. Asimismo, con Symfony4 los bundles se registran de forma automática.

Symfony Make Bundle

Este bundle sustituye a un popular SensioGeneratorBundle, que se estaba quedando obsoleto. El nuevo SymfonyMakerBundle se encarga de crear el código inicial (boilerplate code) necesario para la consola, los controladores o los formularios. De esta manera, eliminar el código inicial de la aplicación es más fácil que generarlo; de forma que el código nuevo se genere con un bundle más moderno, más sencillo y, sobre todo, mucho más ligero.

SymfonyMakerBundle deja atrás el uso del prefijo generate para implementar makers. Aunque por el momento solo están disponibles algunos comandos simples, Symfony irá añadiendo nuevos incluyendo makers interactivos.

Symfony 4, aún más sencillo

Para hacer que la programación de aplicaciones con Symfony sea más sencilla e intuitiva, los directorios se simplifican. Con Symfony 4 todos serán de primer nivel y no existirán jerarquías entre ellos al adoptar una estructura plana. Además, el tamaño de las aplicaciones se reducirá considerablemente.

A partir de ahora sólo se instalarán las dependencias necesarias para poder desarrollar la aplicación. Así se evita tener que instalar todos los bundles y componentes de Symfony. Esto supondrá una reducción del 70% del código y de los archivos que requiere una aplicación desarrollada con Symfony 3. La versión 4.0 facilita el desarrollo de todo tipo de aplicaciones; desde microservicios a backends para aplicaciones en JavaScript, mediante el uso de un micro-kernel.

Al mismo tiempo que se publicaba Symfony 4.0 salía una versión anterior del framework: Symfony 3.4. Una versión que cuenta con las mismas funcionalidades de la rama 3.x pero que es imprescindible para poder actualizar tus aplicaciones a Symfony 4.0. Symfony 3.4 ha sido lanzada en versión LTS por lo que tendrá soporte hasta noviembre de 2021.