Laravel vs Symfony: Quel framework PHP choisir en 2020

Les frameworks PHP sont la solution la plus fréquemment choisie en matière de développement web. Il en existe meme des tonnes sur le marché, , mais Laravel et Symfony sont les plus populaires auprès des développeurs web en ce moment. Petit tour d'horizon...

C'est quoi Laravel?

Laravel est un framework open-source qui suit un schéma de conception modèle-vue-contrôleur. Il réutilise des composants existants open source de différents frameworks et les unifie pour créer une interface facile a utiliser. Il comprend également des fonctionnalités importées d'autres frameworks comme Yii, CodeIgniter ou encore Ruby on Rails! Avec une bonne voire moyenne connaissance en PHP, Laravel se prend trés bien et rapidement en main. Si vous commencez tout juste à vous initier à l'univers des frameworks, commencez par celui la ! Depuis 2020, Laravel est apparu comme le framework PHP le plus populaire. Il s'appuie davantage sur les méthodes magiques de PHP, ce qui rend le code plus court et l'ensemble du framework plus facile à comprendre.

Et Symfony alors?

De son coté, symfony repose également sur des projets PHP open sources comme Doctrine, PHPUnit, Twig et SwiftMailer. Mais dévelope aussi en son nom beaucoup de composants tels que Symfony YAML, Symfony Event Dispatcher, Symfony Dependency Injector, et Symfony Templating. L'approche est beaucoup moin collaborative que laravel car l'équipe symfony privilégie souvent les développements en interne plutot que d'utiliser des modules open sources déjà existants. En revanche, le framework est beaucoup plus fiable et mature et s'impose sur les projets d'entreprises. Il est conçu pour des projets un peu plus importants ou plus complexes qui contiennent d'énormes fonctionnalités et qui sont utilisés par un nombre important de clients. Cela se caractérise par une certaine lourdeur dans le code à écrire aui le rend moins fun et trés usine a gaz pour les petites applications.

Laravel vs Symfony: lequel choisir !

Laravel est parfait pour les projets où vous avez besoin de développer rapidement votre application et où vous ne voulez pas dépenser beaucoup de temps et d'argent. Dés l'installation de Laravel, vous avez a votre disposition tout un tas d'implémentations prêtes à l'emploi qui vous faciliteront le travail. Mais d'un autre côté, toutes ces solutions ne vous seront pas forcément utiles et vous ne les utiliserez peut-etre jamais ! L'approche convention-over-configuration du framework rend beaucoup de choses faciles au premier abord et quasi tout les modules fonctionneront "out of the box" dés l'installation.

Avec Symfony, c'est l'inverse, tout doit etre configuré! Et meme si une configuration par défaut est fournie, elle est loin d'etre suffisante pour commencer à developper directement et avoir des résultats rapidement. Par contre, une fois passée cette lourdeur initiale, le framework vous le rendra ensuite pendant toute la durée de vie de l'application. La possibilité de configurer simplement quels modules vous utilisez et comment vous permettra aussi d'avoir une application beaucoup plus fiable, rapide et adaptée a vos besoins précis!

Et donc lequel choisir?

Si vous vouliez une réponse définitive, vous allez etre décus! Mais comme souvent dans un choix de techno, le choix dépend vraiment de votre application, de vos impératifs de temps et de budget, et surtout de votre connaissance dans les-dites technos! Encore une fois le meilleur outil est celui dont on sait se servir !

Qu'avez vous pensé de cet article?