Loading...

Symfony 4 - Première impression

Symfony est un framework professionnel utilisé mondialement pour construire des applications liées au domaine HTTP.  Avec plus d'un billion de téléchargements à son compte et environ 1500 contributeurs à travers le monde, qui aident à perfectionner cet outil de travail, Symfony a lancé sa nouvelle version, Symfony 4.

Symfony 4 représente une refonte profonde de ses idéologies et propose un nouveau cadre de travail pour répondre davantage aux standards de l'industrie : amélioration majeure dans le processus d'installation, de configuration, de déploiement et de maintenance des logiciels avec un accent particulier sur l'automatisation des tâches courantes. 

À noter que Symfony 4 n'est pas une version LTS et représente les mêmes codes et fonctionnalités que Symfony 3.4 mais sans la couche de rétrocompatibilité avec Symfony 3.x.

Minimaliste

Contrairement aux versions précédentes, Symfony 4 propose par défaut un micro-framework extrêmement minimaliste avec très peu de dépendance. Finie la dépendance sur 'symfony/symfony', le nouveau dépôt 'symfony/skeleton' installe uniquement les éléments de base pour développer une application. C'est alors aux développeurs d'agrandir leur stack selon leurs besoins avec l'outil super puissant de Symfony Flex.  Au-delà d’une meilleure performance, cette instance ultra légère de Symfony est moins complexe pour les débutants, plus agile pour les développeurs à faire grandir leurs applications et ouvre le framework à plus d'opportunités.

Automatisation

Un gros travail a été effectué sur cette version, sur l'installation des ‘vendors’ afin de simplifier et automatiser au maximum leurs installations et configurations. C'est d’ailleurs la fonctionnalité la plus innovante et qui fait le plus de buzz en ce moment. Symfony Flex est tout simplement un plugin composer qui permet à Symfony de modifier le comportement de Composer via des ‘recipes’. Ces derniers correspondent à des suites d'actions à exécuter lors de l'installation d'un ‘bundle’. Autre fonctionnalité intéressante, l’introduction des Alias afin de rendre les bundles recommandés par SensioLabs plus intuitifs. Cette approche prodigieuse, fortement influencée par le 'user-friendliness' de Laravel, va définitivement améliorer l'adoption du framework.

Autres automatisations que nous pouvons retrouver par défaut dans Symfony 4 sont 'autowiring' et 'autoconfigure'.  Ces éléments étaient présents comme options depuis Symfony 2.8, mais n’étaient pas forcements utilisés. Avec le lancement de Symfony 4 qui est axé vers l’automatisation, les services ‘autowiring' et les 'auto-tagging avec l'auto-configuration' sont maintenant intégrés et prêts à utilisation. Cela permet d’accélérer le processus de développement, puisqu'ils permettent de se concentrer sur l’essentiel, c’est-à-dire, écrire du php.

Standardisation

Symfony 4 propose une évolution des pratiques actuelles, essayant d'adopter des outils plus standards. Par conséquent SF4 embarque d'autres petits changements au niveau de la structure du projet pour rapprocher davantage vers le standard Unix. Les configurations se retrouvent désormais dans un dossier 'config' à la racine, les fichiers twig se retrouvent aussi dans un dossier 'templates' à la racine et le dossier web a été remplacé par un dossier public. De plus, les fichiers 'app.php' et 'app_dev.php' ne sont plus d'actualités. Les ‘front controllers’ ont été remplacés par le fameux fichier 'index.php'. Ces petites améliorations permettent de consolider l’expérience utilisateur par rapport à d'autres outils de l'industrie.

Bundle-less

C'est un des changements très attendus dans la communauté depuis très longtemps, l’application SF4 devient bundleLess!  Cela simplifie l'utilisation des class dans le dossier 'src/' en les regroupant sous le namespace 'App\'.  Cela rend le code plus découplé de Symfony.

Cloud Ready

Autre nouveauté dans SF4 : les variables environnement remplacent le fichier configuration 'parameters.yml'.  Les variables d'environnement sont un moyen plus "standard" de gérer les paramètres qui dépendent de l'environnement. Cette pratique est d'ailleurs recommandée par toutes les plateformes de cloudcomputing modernes, ce qui simplifie le processus de déploiement. Autre avantage pas besoin de reconstruire l'application au changement des paramètres. 

Symfony 4 modernise d'avantage le workflow de développement et va définitivement améliorer la productivité quotidienne de ses fidèles.  Les capacités de Symfony à propulser de grands projets d'entreprise est indéniable mais on se plaint souvent que le framework a une courbe d'apprentissage très élevée.  Symfony 4, avec une meilleure facilité d'utilisation (quelques fois magique) et une barrière d'entrée plus basse va définitivement accentuer l'adoption du framework et ainsi que sa popularité.  

Tags: Symfony

Leave a Comment