GeeksforGeeks

Beaucoup d’entre nous ignoreront cette différence qui est vraiment importante à comprendre pendant le développement. La réponse possible à cette question, si on la pose, sera « Le Framework est une collection de diverses bibliothèques ». Cependant, cette définition n’est pas entièrement vraie. « Qui appelle qui », c’est-à-dire la relation appelant/appelé, définit la différence entre les deux termes. C’est notre code qui appelle le code de la bibliothèque alors que dans un framework, c’est le code du framework qui appelle notre code. Voyons comment .

Bibliothèque

Une bibliothèque fournit un ensemble de fonctions/objets/modules d’aide que le code de votre application appelle pour une fonctionnalité spécifique. Les bibliothèques se concentrent généralement sur un champ d’application étroit (par exemple, les chaînes, les E/S, les sockets), de sorte que leurs API ont également tendance à être plus petites et à nécessiter moins de dépendances. Il s’agit simplement d’une collection de définitions de classes. Pourquoi en avons-nous besoin ? La raison est très simple : la réutilisation du code, l’utilisation du code qui a déjà été écrit par d’autres développeurs. Par exemple, une bibliothèque possède une méthode nommée findLastIndex(char) pour trouver le dernier indice d’un caractère particulier dans une chaîne de caractères. Nous pouvons directement appeler la fonction findLastIndex(charToFind) de la bibliothèque et passer les caractères dont nous devons trouver la position comme paramètre dans l’appel de la fonction.

Framework

Framework, d’autre part a défini des fonctions ou des objets ouverts ou non implémentés que l’utilisateur écrit pour créer une application personnalisée. (Les utilisateurs de C++/Java comprendront cela car c’est un peu comme implémenter une fonction abstraite). Parce qu’un framework est lui-même une application, il a une portée plus large et inclut presque tout ce qui est nécessaire pour faire une application utilisateur selon ses propres besoins. Wikipedia rend les choses plus claires :

« En programmation informatique, un framework logiciel est une abstraction dans laquelle un logiciel fournissant des fonctionnalités génériques peut être modifié de manière sélective par du code supplémentaire écrit par l’utilisateur, fournissant ainsi un logiciel spécifique à l’application »

framework vs library

Donc, la différence essentielle réside dans l' »inversion de contrôle », communément appelée IoC. Lorsque nous appelons une méthode d’une bibliothèque, nous avons le contrôle. Mais dans un framework, le contrôle est inversé, c’est-à-dire que le framework nous appelle. Il définit un squelette dans lequel l’application définit ses propres caractéristiques pour le compléter. Exemple, en Javascript, nous utilisons généralement ceci :

$(document.ready(){ // this call will be done by the jquery // framework when document will be ready. function() { /* your code */ // our implementation inside the framework's function }});

Alors qu’en bibliothèque, nous avons normalement son objet pour appeler ses fonctions ou nous les appelons simplement. Ex :

str = "Geeks.ForGeeks"var pos = str.lastIndexOf("."); // simply calling function of string library

Points importants :

  • Bibliothèque : Elle effectue un ensemble d’opérations spécifiques et bien définies. Exemples : Protocoles réseau, compression, manipulation d’images, utilitaires de chaînes de caractères, évaluation d’expressions régulières, mathématiques, etc
  • Cadre : Il est connu pour être un squelette où l’application définit le contenu de l’opération en remplissant le squelette. Exemples de frameworks : Système d’application web, gestionnaire de plug-in, système d’interface graphique. Le cadre ne définit que le concept, mais une application définit en outre la fonctionnalité qui est utile pour les utilisateurs finaux.
  • Inversion de contrôle : Lorsque nous appelons une méthode d’une bibliothèque, nous avons le contrôle. Mais dans un framework, le contrôle est inversé c’est-à-dire que le framework nous appelle.

Référence :

  • Tutoriel vidéo

Cet article est rédigé par Ekta Goel. Si vous aimez GeeksforGeeks et que vous souhaitez contribuer, vous pouvez également écrire un article en utilisant contribute.geeksforgeeks.org ou envoyer votre article par courrier à [email protected]. Voyez votre article apparaître sur la page principale de GeeksforGeeks et aidez d’autres geeks.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *