Jquery est mentionné ici sous la catégorie framework: http://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks
Jquery est-il une bibliothèque ou un framework javascript?
Une bibliothèque. Selon le page d'accueil , et avec lequel je suis d'accord.
Un framework est quelque chose qui oblige généralement une certaine manière à implémenter une solution, alors que jQuery n'est qu'un outil pour faciliter l'implémentation de ce que vous voulez faire.
Bien sûr, c'est une bibliothèque javascript. Mais pour être un cadre ou non, je pense simplement que ce n'est pas un cadre. Jetez un coup d'œil sur définition wikipedia du framework logiciel :
C'est un ensemble de bibliothèques de logiciels fournissant une interface de programmation d'application définie.
Et jQuery est juste une bibliothèque simple. Après ça dit:
Les cadres contiennent des caractéristiques distinctives clés qui les séparent des bibliothèques normales:
- inversion de contrôle - Dans un cadre, contrairement aux bibliothèques ou aux applications utilisateur normales, le flux de contrôle global du programme n'est pas dicté par l'appelant, mais par le cadre.
Donc, je pense que ce n'est pas un cadre.
Selon le site web angularjs
- une bibliothèque - un ensemble de fonctions utiles lors de la création d'applications Web. Votre code est en charge et il appelle dans la bibliothèque lorsque
Par exemple, jQuery.- frameworks - une implémentation particulière d'une application Web, où votre code renseigne les détails. Le framework est en charge et appelle votre code quand il a besoin de quelque chose de spécifique à l'application. Ex., Durandal, braise, etc.
Framework et libarry ne sont pas nécessairement des termes mutuellement exclusifs. Le cadre est généralement une bibliothèque ou une collection de bibliothèques.
Strictement parlant, jQuery est une bibliothèque, mais correspond dans une certaine mesure à la définition d'un framework logiciel. Bien que beaucoup soutiennent que jQuery ne correspond pas suffisamment à la définition d'un framework logiciel, le fait est qu'aucun autre framework JavaScript ne répond totalement à la définition d'un framework.
L'une des caractéristiques déterminantes d'un framework logiciel est que son code est protégé contre les modifications. En JavaScript, ce n'est clairement pas le cas. Toutes les bibliothèques ou les structures pouvant être appelées dans votre code côté client sont modifiables, mais il serait contraire aux meilleures pratiques de les modifier. Par conséquent, s'il est permis d'appeler Bootstrap ou AngularJS un framework, il n'y a aucune raison pour que jQuery ne puisse pas non plus être appelé un framework. Ce lien contient une explication plus détaillée. jQuery répond aux critères pour être appelé un framework.
La meilleure explication de la raison pour laquelle jQuery est davantage un framework que une bibliothèque est le fait qu’en tant que développeur, vous pouvez choisir de n’utiliser aucune de ses fonctionnalités. Vous pouvez, par exemple, mélanger une instruction jQuery simple avec une instruction JavaScript standard sur la même ligne. AngularJS et Bootstrap ne vous permettent généralement pas de faire cela. Par conséquent, la réponse précise si jQuery est un framework ou non est "cela dépend si vous avez choisi de l’utiliser comme framework ou non" .
Je conviens avec toutes les réponses ici que jQuery est en soi une bibliothèque, pas un framework. Comme spécifié par la réponse de Saeed, l'une des principales caractéristiques distinctives est l'inversion de contrôle. Vous pouvez toutefois utiliser les fonctionnalités de jQuery pour créer votre propre framework.
Exemples: certains projets construits sur jQuery sont définis en tant que frameworks: jQuery Mobile: un framework Web Touch-Optimized , JavaScriptMVC et sammy.js pour en nommer quelques-uns.
Il existe également d'autres bibliothèques construites sur jQuery, telles que jQuery UI
Certaines de ces choses semblent être de la sémantique pour définir ce qu'est une bibliothèque par rapport à un framework, mais ces exemples m'aident à tracer une ligne.
Si nous parlons d'inversion de contrôle, dont presque tout le monde parle dans le fil précédent, jQuery est alors un CADRE.
Il a eu IOC par exemple lorsque nous écrivons la fonction $ (document) .ready {} ... c'est le conteneur qui appelle cette méthode et nous mettons simplement notre code à l'intérieur des accolades. Nous ne sommes pas l'appelant de cette méthode et donc "Inversion of Control"
De cette façon, jQuery est un CADRE.