Bibliothèque vs Framework, quelle est la différence ?

Est-ce la même chose, un framework est-il simplement une grosse librairie ? Découvrons ça ensemble.

Article publié le 07/07/2021, dernière mise à jour le 19/09/2023

Parfois pendant un entretien, une seule question peut faire pencher la balance en votre faveur. Non pas qu'une mauvaise réponse puisse vous éliminer, mais disons plutôt qu’une bonne réponse peut vous donner l'avantage par rapport à un autre candidat.

Cette question en fait partie, et même certains développeurs expérimentés ne savent pas correctement y répondre correctement !

Alors, quelle est la différence ?

Souvent, on a le droit à une collection de réponses tentées au hasard comme :

  • “C'est la même chose, on peut utiliser les deux mots”
  • “Framework c'est l'anglais pour bibliothèque”
  • “Il y a une différence de taille, le framework est beaucoup plus gros”

Ou encore :

  • “Un framework est un ensemble de bibliothèques qui fonctionnent ensemble”

On pourrait presque croire que la vraie définition se cachent là-dedans, du moins certains pourraient faire illusion dans une discussion de tous les jours.

La réponse

Mais la vraie réponse, celle notamment attendue en entretien est différente, en voilà une version simple et rapide :

“Le développeur utilise une bibliothèque en appelant le code de cette dernière, tandis que le rôle du framework est d’exécuter le code du développeur”

Et oui, leur fonctionnement est presque l'inverse l'un de l'autre !

En français, on traduit le mot framework par “cadre applicatif”, car c'est son but, il donne un cadre, une organisation, un squelette, une méthode de travail. Tandis que la librairie, elle, n'offre que des fonctionnalités souvent décorrélées les unes des autres.

Attention néanmoins car même si cette définition est valide, le mot framework étant plus attractif et synonyme de sérieux, tous les outils se déclarent comme étant des “framework” même si leur fonctionnement ressemble plutôt à celui d'une bibliothèque.

Par exemple on parle toujours de React comme étant un framework alors que c'est en fait une librairie dont on va devoir appeler manuellement la fonction render(). Voilà quelques exemples de “vrais” frameworks basés sur des librairies que tu connais sûrement.

Bibliothèque vs Framework :

  • React vs NextJS
  • VueJS vs NuxtJS
  • ExpressJS vs NestJS
  • AngularJS vs Ionic

Si vous vous rendez sur la page d'accueil de chacune des librairies à gauche, vous verrez pourtant qu'ils se vendent chacun comme étant des frameworks, mais maintenant vous saurez dénicher la supercherie !

Si vous souhaitez des informations plus poussées, vous pouvez consulter ce petit article sur le blog d'Oreilly expliquant pourquoi React est une librairie (en anglais) : https://www.oreilly.com/library/view/what-react-is/9781491996744/ch01.html


Outcast India sur Unsplash

Vous avez terminé l'article ?

Commentaires (0)

pour laisser un commentaire

Aucun commentaire pour l'instant