Pourquoi utiliser un Framework ?

Si vous êtes développeur débutant, ou que vous souhaitez vous mettre au développement. Vous devez régulièrement lire des informations sur différents frameworks. Mais, qu’est-ce qu’un framework ? A quoi cela sert ? Pourquoi en parle-t-on autant ?

Qu’est-ce qu’un framework ?

Framework est en terme anglophone que l’on pourrait traduire par cadre de travail. Ce n’est pas une traduction très représentative, donc vous verrez plutôt le terme framework dans les médias spécialisés.
Alors, qu’est-ce qu’un framework ? Pour définir cet outil indispensable de nombreux développeurs, nous allons parler de structure. Le framework est un ensemble de “briques” qui vont aider le développeur à construire ses futurs programmes, appli et autres sites web. Cela comprend une méthode de programmation qui va structurer le programme, ainsi que des librairies et différentes “extensions” qui vont gérer certaines parties du code.

Quelle est la différence entre un framework et une librairie ?

Avant de détailler plus en détail le fonctionnement d’un framework. Il faut expliquer la différence entre un framework et une librairie. Donc, pour faire simple, la librairie est une bibliothèque de code que l’on peut appeler pour effectuer des actions. Alors que, le framework est un ensemble qui uniformise le codage selon une méthode. Bien sûr il s’appuie sur des librairies existantes pour fonctionner. Mais, il va vous permettre un développement plus rapide en vous proposant différents moteurs en extensions et surtout une méthode de développement qui lui est propre.

Pourquoi utiliser un framework ?

L’objectif principal d’un framework est de simplifier le travail du développeur. En effet cet outil va lui définir une structure et une méthode de travail. Cela permet également de ne pas repartir de zéro à chaque projet en fournissant des “briques” déjà existantes que le développeur va pouvoir modeler avant de poursuivre son travail.

Quels sont les frameworks les plus populaires ?

Il existe de nombreux frameworks dans quasiment tous les langages de programmation. Les plus connus sont:

  • Symfony, framework PHP très populaire. Il perd un peu de vitesse ces dernières années, mais compte toujours une communauté nombreuse et très active.
  • Laravel, framework PHP également très populaire. Tout comme Symphony, il est soutenu par une communauté très dynamique.
  • Django, framework Python. C’est l’un des framework Python les plus populaires, il permet une génération de code facilitée et sécurisée. Une communauté également très active suis cet outil.
  • Vue, framework JavaScript. Vue est également très populaire et profite d’une communauté active.
  • Rails, framework Ruby on Rails. C’est le framework historique de Ruby on Rails, il bénéficie d’une interface ergonomique et profite d’une communauté très active.

Quels sont les avantages d’un framework ?

  • Un développement rapide, le framework est un outil qui va très vite faire gagner beaucoup de temps au développeur. En simplifiant le code et en apportant toutes les “briques” au même endroit, le codeur peut se concentrer sur l’écriture du code.
  • Une maintenance simplifiée. Bien sûr, en imposant une structure au développeur, on augmente la simplicité de maintenance en cas de changement d’équipe ou de retour sur le code après une longue période.
  • Une sécurité accrue, lorsque l’on développe avec un framework, les routines de sécurité sont déjà existantes, testées par des milliers de personnes et mises à jour par l’équipe du framework en fonction des évolutions de langages/techniques de hack.

Quels sont les inconvénients d’un framework ?

Il existe peu d’inconvénients liées aux framework, c’est pour cela qu’ils sont autant prisés par les développeurs et recruteurs. Mais, il y a quand même quelques points négatifs:

  • Courbe d’apprentissage, même si l’on connaît parfaitement le langage avec lequel est développé le framework. On va toujours devoir apprendre à utiliser ce nouvel outil ainsi que ses nombreuses fonctions. Cela varie d’un framework à l’autre, mais c’est toujours à prendre en compte.
  • Adaptation, Lorsque vous allez arriver dans une nouvelles entreprise, bien souvent le  ou les frameworks vont être imposés par votre nouvelle équipe de travail. Vous comprendrez bien, que si toute l’équipe développe sous Laravel depuis des mois, même si vous êtes un champion de Symfony. Tout le monde ne va pas changer ses habitudes et redévelopper tout ce qui a été fait avant pour vous faciliter la vie. Cela pose donc un petit frein à l’embauche et une grosse pression sur les techno à privilégier.

Comment faisait-on sans framework ?

Évidemment, il n’est pas obligatoire de passer par un framework pour développer des applicatifs de qualité. Et certains seront toujours partisans du code pur. Mais, dans un monde où il faut toujours aller plus loin, plus vite, moins cher. Il devient très vite utopique de pouvoir travailler sans ces aides précieuses.

Par contre, de nombreux formateurs pensent que durant l’apprentissage, il est mieux de travailler en code pur. Histoire de comprendre parfaitement l’esprit d’un langage avant de passer aux frameworks. Car, sans bases solides, c’est très compliqué de switcher d’un framework à un autre.