Un framework est, comme son nom l’indique en anglais, un “cadre de travail“. L’objectif d’un framework est généralement de simplifier le travail des développeurs informatiques (les codeurs si vous préférez), en leur offrant une architecture “prête à l’emploi” et qui leur permette de ne pas repartir de zéro à chaque nouveau projet. Les frameworks sont comparables aux patrons de couture. Les principaux avantages sont donc : la réutilisation des codes la standardisation de la programmation la formalisation d’une architecture adaptée aux besoins de chaque entreprise. À noter aussi que les frameworks sont toujours « enrichis » de l’expérience de tous les développements antérieurs. En bon français, plusieurs termes et expressions permettent actuellement de désigner le framework : cadriciel, canevas, socle d’applications, cadre d’applications, environnement de développement, boite à outils, etc.

Dans le développement web, il existe de nombreux frameworks, certains étant conçus pour des projets de grande envergure tandis que d’autres sont utiles pour accélérer le développement de petites tâches.

Quelques avantages des frameworks

  • Nous sommes cadrés ! Comme son nom l’indique, le framework nous permet d’être plus disciplinés et de ne pas partir dans tous les sens

  • Gain de temps et d’efficacité: le framework apporte de nombreux outils qui permettent de ne pas réinventer la roue pour toutes les fonctionnalités courantes

  • Meilleure structuration du code : le cadre et les directives fournies par les frameworks permettent de donner une structure et par conséquent, d’améliorer la qualité du code. Ils permettent de construire une unité cohérente.

  • Maintenance simplifiée: un projet bien structuré est infiniment plus simple à maintenir qu’un projet fourre-tout.

Quelques inconvénients des framework

  • Limites sur les fonctionnalités complexes : eh oui, redisons-le, un framework, ça cadre… et de fait, ça limite ! Si l’on souhaite accéder à des fonctionnalités du langage qui ne sont pas gérées par le framework, on rencontre très vite des problèmes. 

  • Couche de complexité supplémentaire: selon le framework choisi et les design pattern appliqué, entrer sur la technologie peut s’avérer complexe pour un développeur moyen. Il peut donc être intéressant de prévoir du temps de formation, ou de choisir une solution plus basique.

  • Mise à jour des nouvelles versions à gérer en plus de la stack applicative de base : eh oui, qui dit couche supplémentaire dit cycle de vie supplémentaire à gérer… et ce n’est pas une mince affaire !
Défilement vers le haut