Quelle est la différence entre une Librairie et un Framework?

Cette vidéo fait partie de la Formation Complète Javascript


Alors ça c’est une question qui revient souvent et je comprends tout à fait car la différence n’est pas si évidente.

Les 2 sont des éléments qui ont pour but de nous faciliter le développement.

Alors certains vous diront que tout simplement la différence c’est la taille: quand c’est petit c’est une librairie et quand c’est gros c’est un framework !

Pour dire vrai, c’est une vision beaucoup trop simpliste de la chose !

Si vous devez définir est-ce que Trucbidule est une librairie ou un framework, vous devez vous poser la question suivante:

Qui utilise/exécute/contrôle qui entre Trucbidule et votre code ?

Et si la réponse est:
C’est Trucbidule qui utilise votre code pour fonctionner alors Trucbidule est un framework.

Par contre si c’est votre code qui exécute Trucbidule alors Trucbidule est une librairie.

En général une librairie c’est un ensemble de fonctions, d’objets que notre code va utiliser.

Dans notre appli on rattachera la librarie pour pouvoir utiliser son contenu.

Par exemple jQuery c’est clairement une librairie ! C’est notre code qui utilise la fonctionnalité de jQuery pour coder du Javascript plus facilement.

D’ailleurs j’ai fait un super cours sur jQuery pour ceux que ça intéressent. Allez voir dans les cours que je propose pour plus de détails.

Un framework aura plus de contrôle sur l’ensemble de notre application. C’est le framework qui utilise notre code et crée l’ensemble de l’application à partir de notre code. Il va structurer notre appli, décider de son architecture.

En général il est constitué de pleins de librairies qu’on devra utiliser: il va formater notre méthodologie de développement.

Au final, je tiens à vous dire qu’il faut pas non plus faire toute une histoire de ces définitions et surestimer leur importance.

Nous sommes des codeurs c’est-à-dire des hommes d’action avant tout !

Ne nous laissons pas embrouiller par des mots car au final tout ça, c’est quand même du blabla ! L’important c’est de pouvoir utiliser ces librairies/frameworks pour réaliser des belles choses.