jQuery
| Développé par | John Resig |
|---|---|
| Première version | |
| Dernière version | 4.0.0 ()[1] |
| Dépôt | github.com/jquery/jquery |
| Assurance qualité | Intégration continue |
| Écrit en | JavaScript |
| Système d'exploitation | Multiplateforme (d) |
| Environnement | Web |
| Langues | Anglais |
| Type | bibliothèque JavaScript |
| Licence | Licence MIT |
| Site web | jquery.com |
jQuery est une bibliothèque JavaScript libre et multiplateforme créée pour faciliter l'écriture de scripts côté client dans le code HTML des pages web[2]. La première version est lancée en par John Resig.
Le but de la bibliothèque étant le parcours et la modification du DOM (y compris le support des sélecteurs CSS 1 à 3 et un support basique de XPath), elle contient de nombreuses fonctionnalités ; notamment des animations, la manipulation des feuilles de style en cascade (accessibilité des classes et attributs), la gestion des évènements, etc. L'utilisation d'Ajax est facilitée et de nombreux plugins sont présents.
Depuis sa création en 2006 et notamment à cause de la complexification croissante des interfaces Web, jQuery a connu un large succès auprès des développeurs Web et son apprentissage est aujourd'hui un des fondamentaux de la formation aux technologies du Web. Il est à l'heure actuelle la bibliothèque front-end la plus utilisée au monde (plus de la moitié des sites Web en ligne intègrent jQuery).
Cependant, son utilisation devient moins pertinente avec l'émergence de nouvelles bibliothèques telles que React et Vue.js qui la remplacent dans la construction d'Application web monopage, ainsi qu'en raison de l'évolution du JavaScript et des API du web.
Historique
[modifier | modifier le code]La bibliothèque JavaScript libre jQuery est créée en 2006 par le développeur américain John Resig. Alors étudiant à l'université, celui-ci l'a conçue comme un outil facilitant l'exploration d'un document HTML, via sa représentation objet, et permettant de surmonter les différences d'interprétation du code JavaScript par les navigateurs web[3]. La première version de JQuery est publiée en janvier 2006 ; la version stable 1.0, en août de la même année. Au départ, l'œuvre d'une seule personne, le projet devient celui d'une communauté de développeurs bénévoles. Il obtient aussi la reconnaissance de la Mozilla Foundation et de multinationales de l'informatique telles que IBM, Google et Microsoft[4].
Usage
[modifier | modifier le code]La bibliothèque jQuery se présente comme un unique fichier JavaScript de 247 ko contenant toutes les fonctions de base[5].
Voici un exemple d'Ajax avec jQuery :
$(document).ready(function() { // Lorsque le document est chargé
$(".load_page_on_click").click(function() { // Lorsque l’on clique sur un élément d'attribut class "load_page_on_click"
var email = $("input[name=email]").val(); // Variable contenant la valeur d'un élément input d'attribut name "email"
$.ajax({ // Exécution d’une requête Ajax avec la configuration donnée par l'objet suivant :
async: "true", // - requête asynchrone
type: "GET", // - type HTTP GET
url: "mapage.php", // - URL de la page à charger
data: "email=" + encodeURIComponent(email) + "&action=get_email", // - données à envoyer
error: function(errorData) { // - fonction de rappel en cas d’erreur
$("#error").html(errorData);
},
success: function(data) { // - fonction de rappel pour le traitement des données reçues en cas de succès
$("#container").html(data); $("#error").append("Contenu chargé");
}
}); // Fermeture de l'appel à la fonction $.ajax
}); // Fermeture de la fonction de rappel du $(".load_page_on_click").click
}); // Fermeture de la fonction de rappel du $(document).ready
On peut aussi remplacer la première ligne du script $(document).ready(function() { par $(function() {.
Releases
[modifier | modifier le code]| Version | Date de sortie initiale | Dernière version | Date de dernière version | Taille minifié (KB) | Remarques |
|---|---|---|---|---|---|
| 1.0 | Première release | ||||
| 1.1 | |||||
| 1.2 | 1.2.6 | 54.5 | |||
| 1.3 | 1.3.2 | 55.9 | Moteur de sélection Sizzle intégré au noyau | ||
| 1.4 | 1.4.4 | 76.7 | |||
| 1.5 | 1.5.2 | 83.9 | Gestion différée des rappels, réécriture du module Ajax | ||
| 1.6 | 1.6.4 | [6] | 89.5 | Améliorations significatives des performances des fonctions attr() et val() | |
| 1.7 | 1.7.2 | [7] | 92.6 | Nouvelles API d'Events : .on() et .off(), avec le mantien des anciennes API toujours prises en charge. | |
| 1.8 | 1.8.3 | [8] | 91.4 | Moteur de sélection Sizzle réécrit, animations améliorées et flexibilité accrue de $(html, props). | |
| 1.9 | 1.9.1 | [9] | 90.5 | Suppression des interfaces obsolètes et nettoyage du code | |
| 1.10 | 1.10.2 | [10] | 90.9 | Intégration des corrections de bug et des différences signalées lors des phases bêta 1.9 et 2.0 | |
| 1.11 | 1.11.3 | [11] | 93.7 | ||
| 1.12 | 1.12.4 | [12] | 94.9 | ||
| 2.0 | 2.0.3 | 81.7 | Fin du support d'IE 6 à 8 pour améliorer les performances et réduire la taille du fichier | ||
| 2.1 | 2.1.4 | 82.4 | |||
| 2.2 | 2.2.4 | 83.6 | |||
| 3.0 | [13] | 3.0.0 | 84.3 | Prise en charge des promesses/A+ pour les Deferreds, $.ajax et $.when, .data() compatible HTML5 | |
| 3.1 | 3.1.1 | 84.7 | Ajout de jQuery.readyException ; les erreurs du gestionnaire ready ne sont plus masquées | ||
| 3.2 | [14] | 3.2.1 | 84.6 | Ajout de la prise en charge de la récupération du contenu des éléments <template> et dépréciation de diverses anciennes méthodes. | |
| 3.3 | [15] | 3.3.1 | [16] | 84.9 | Dépréciation des anciennes fonctions ; les fonctions acceptant des classes les prennent désormais également en charge sous forme de tableau. |
| 3.4 | [17] | 3.4.1 | [18] | 86.1 | Améliorations des performances, prise en charge des nonces et des nomodules, corrections pour les éléments radio, correctif de sécurité mineur. |
| 3.5 | [19] | 3.5.1 | [20] | 87.4 | Correctifs de sécurité, méthodes `.even()` et `.odd()`, jQuery.trim est obsolète |
| 3.6 | [21] | 3.6.4 | [22] | 88.2 | Retour JSON en cas d'erreur JSONP, gestion des nouveaux sélecteurs Chrome |
| 3.7 | [23] | 3.7.1 | [24] | 85.4 | Méthode `.uniqueSort()`, améliorations des performances, gestion des marges négatives avec `.outerWidth(true)` et `.outerHeight(true)`, corrections de focus |
| 4.0 | [25] | 4.0.0 | 78.8 | Prise en charge d'IE 10 et versions antérieures abandonnée, API obsolètes supprimées, méthodes Array supprimées, ordre des événements de focus modifié, prise en charge de FormData, migration vers les modules ES |
Notes et références
[modifier | modifier le code]- ↑ « https://blog.jquery.com/2026/01/17/jquery-4-0-0/ »
- ↑ (en) « Jquery: write less, do more » (consulté le ).
- ↑ Vincent Hermann, « jQuery fête ses dix ans : une première bêta pour la version 3.0 », Next INpact, (consulté le ).
- ↑ Luc Van Lancker, jQuery : Le framework JavaScript du Web 2.0, éditions ENI, , 537 p. (ISBN 9782746052413 et 2746052415), p. 12-13.
- ↑ (en) jQuery.
- ↑ « jQuery 1.6.4 Released », jQuery Blog,
- ↑ « jQuery 1.7.2 Released », jQuery Blog,
- ↑ « jQuery 1.8.3 Released », jQuery Blog,
- ↑ « jQuery 1.9.1 Released », jQuery Blog,
- ↑ « jQuery 1.10.2 and 2.0.3 Released », jQuery Blog,
- ↑ « jQuery 1.11.3 and 2.1.4 Released – iOS Fail-Safe Edition », jQuery Blog,
- ↑ « jQuery 1.12.4 and 2.2.4 Released », jQuery Blog,
- ↑ James Chesters, « Long-awaited jQuery 3.0 Brings Slim Build », infoq.com, (consulté le )
- ↑ « jQuery 3.2.0 Is Out! », jQuery Blog, (consulté le )
- ↑ « jQuery 3.3.0 – A fragrant bouquet of deprecations and…is that a new feature? », jQuery Blog, (consulté le )
- ↑ « jQuery 3.3.1 – fixed dependencies in release tag », jQuery Blog, (consulté le )
- ↑ « jQuery 3.4.0 Released », jQuery Blog, (consulté le )
- ↑ « jQuery 3.4.1: triggering focus events in IE and finding root elements in iOS 10 », jQuery Blog, jQuery Foundation,
- ↑ « jQuery 3.5.0 Released! », jQuery Blog, (consulté le )
- ↑ « jQuery 3.5.1 Released: Fixing a Regression », jQuery Blog, jQuery Foundation,
- ↑ (en-US) jQuery Foundation- jquery.org, « jQuery 3.6.0 Released! | Official jQuery Blog », (consulté le )
- ↑ (en-US) « jQuery 3.6.4 Released: Selector Forgiveness », (consulté le )
- ↑ (en-US) jQuery Foundation- jquery.org, « jQuery 3.7.0 Released: Staying in Order | Official jQuery Blog »,
- ↑ (en-US) « jQuery 3.7.1 Released: Reliable Table Row Dimensions », (consulté le )
- ↑ (en-US) jQuery Foundation- jquery.org, « jQuery 4.0.0 Release Candidate 1 »,
Annexes
[modifier | modifier le code]Articles connexes
[modifier | modifier le code]Liens externes
[modifier | modifier le code]
- (en) Site officiel