jQuery -
Mais ces dernières années, son statut de premier outil de développement Web s’est érodé. Voyons pourquoi jQuery est devenu populaire et pourquoi il est passé de mode, et aussi dans quels cas il est encore conseillé de l'utiliser pour créer des sites Web modernes.
Une brève histoire de jQuery
John Resig (
jQuery est une bibliothèque Javascript basée sur la devise : Javascript doit être amusant à coder. jQuery prend en charge les tâches courantes et répétitives, supprime tout le balisage inutile et les rend courtes, élégantes et propres.
jQuery présente deux avantages principaux. La première est une API pratique pour manipuler les pages Web. Il fournit notamment des méthodes puissantes de sélection d’éléments. Non seulement vous pouvez sélectionner par ID ou par classe, mais jQuery vous permet d'écrire des expressions complexes, par exemple, pour sélectionner des éléments en fonction de leurs relations avec d'autres éléments :
// Select every item within the list of people within the contacts element
$('#contacts ul.people li');
Au fil du temps, le mécanisme de sélection est devenu une bibliothèque distincte
Le deuxième avantage de la bibliothèque était qu'elle résumait les différences entre les navigateurs. À cette époque, il était difficile d’écrire du code capable de fonctionner de manière fiable dans tous les navigateurs.
Le manque de standardisation signifiait que les développeurs devaient tenir compte de nombreuses différences entre les navigateurs et les cas extrêmes. Jeter un coup d'œil à
// If Mozilla is used
if ( jQuery.browser == "mozilla" || jQuery.browser == "opera" ) {
// Use the handy event callback
jQuery.event.add( document, "DOMContentLoaded", jQuery.ready );
// If IE is used, use the excellent hack by Matthias Miller
// http://www.outofhanwell.com/blog/index.php?title=the_window_onload_problem_revisited
} else if ( jQuery.browser == "msie" ) {
// Only works if you document.write() it
document.write("<scr" + "ipt id=__ie_init defer=true " +
"src=javascript:void(0)></script>");
// Use the defer script hack
var script = document.getElementById("__ie_init");
script.onreadystatechange = function() {
if ( this.readyState == "complete" )
jQuery.ready();
};
// Clear from memory
script = null;
// If Safari is used
} else if ( jQuery.browser == "safari" ) {
// Continually check to see if the document.readyState is valid
jQuery.safariTimer = setInterval(function(){
// loaded and complete are both valid states
if ( document.readyState == "loaded" ||
document.readyState == "complete" ) {
// If either one are found, remove the timer
clearInterval( jQuery.safariTimer );
jQuery.safariTimer = null;
// and execute any waiting functions
jQuery.ready();
}
}, 10);
}
Et grâce à jQuery, les développeurs ont pu transférer les inquiétudes concernant tous ces pièges sur les épaules de l'équipe développant la bibliothèque.
Plus tard, jQuery a facilité la mise en œuvre de technologies plus complexes telles que les animations et Ajax. La bibliothèque est effectivement devenue une dépendance standard pour les sites Web. Et aujourd’hui, il alimente une part énorme d’Internet. W3Techs estime que
Le contrôle du développement de jQuery est également devenu plus formalisé. En 2011, l'équipe
En 2015, la Fondation jQuery a fusionné avec la Fondation Dojo,
Circonstances changeantes
Cependant, ces dernières années, jQuery
Les navigateurs
Pour un certain nombre de raisons, les différences et limitations des navigateurs sont devenues moins importantes. Premièrement, la normalisation s'est améliorée. Les principaux développeurs de navigateurs (Apple, Google, Microsoft et Mozilla) travaillent ensemble pour développer
Bien que les navigateurs diffèrent encore les uns des autres sur un certain nombre de points importants, les fournisseurs disposent au moins d'un moyen de rechercher et de créer une base de données commune au lieu de
// jQuery
$.getJSON('https://api.com/songs.json')
.done(function (songs) {
console.log(songs);
})
// native
fetch('https://api.com/songs.json')
.then(function (response) {
return response.json();
})
.then(function (songs) {
console.log(songs);
});
Méthodes
// jQuery
const fooDivs = $('.foo div');
// native
const fooDivs = document.querySelectorAll('.foo div');
Vous pouvez désormais manipuler les classes d'éléments en utilisant
// jQuery
$('#warning').toggleClass('visible');
// native
document.querySelector('#warning').classList.toggle('visible');
Le site
L'utilisation de fonctionnalités natives améliore les performances des pages. Beaucoup
La deuxième raison est que les navigateurs sont mis à jour beaucoup plus rapidement qu’auparavant. La plupart d'entre eux utilisent
Cela signifie que les nouvelles fonctionnalités du navigateur et les corrections de bugs sont distribuées beaucoup plus rapidement et que les développeurs n'ont pas à attendre la publication.
La troisième raison est qu'Internet Explorer s'approche d'un état de non-pertinence totale. IE a longtemps été le fléau du développement Web dans le monde. Ses bogues étaient répandus et, comme IE a dominé les années 2000 et n'a pas utilisé de stratégie de mise à jour permanente, les anciennes versions sont encore courantes.
En 2016, Microsoft a accéléré le déclassement d'IE,
Même jQuery a cessé de prendre en charge IE 8 et versions antérieures à partir de
Nouveaux cadres
Depuis l'avènement de jQuery, de nombreux frameworks ont été créés, notamment des leaders modernes
Premièrement, ils facilitent la séparation de l’interface utilisateur en composants. Les frameworks sont conçus pour gérer le rendu et la mise à jour des pages. Et jQuery n'est généralement utilisé que pour la mise à jour, laissant le soin de fournir la page initiale au serveur.
D'autre part, les composants React, Angular et Vue permettent de coupler étroitement HTML, code et même CSS. Tout comme nous divisons la base de code en de nombreuses fonctions et classes autonomes, la possibilité de diviser l'interface en composants réutilisables facilite la création et la maintenance de sites complexes.
Le deuxième avantage est que les frameworks plus récents adhèrent à un paradigme déclaratif, dans lequel le développeur décrit à quoi devrait ressembler l'interface et laisse au framework le soin d'apporter toutes les modifications nécessaires pour obtenir ce qu'il souhaite. Cette approche est contraire à l’approche impérative qui caractérise le code jQuery.
Dans jQuery, vous notez explicitement les étapes à suivre pour apporter des modifications. Et dans un cadre déclaratif, vous dites : « D'après ces données, l'interface devrait ressembler à ceci. » Cela peut rendre l’écriture de code sans bug beaucoup plus facile.
Les développeurs ont adopté de nouvelles approches en matière de développement de sites Web, raison pour laquelle la popularité de jQuery a diminué.
Quand utiliser jQuery ?
Donc quand devrait utiliser jQuery ?
Si la complexité du projet augmente, il est préférable de commencer avec une autre bibliothèque ou un autre framework qui vous permet de gérer la complexité de manière significative. Par exemple, divisez l'interface en composants. Utiliser jQuery sur de tels sites peut sembler correct au début, mais cela conduira rapidement à du code spaghetti dans lequel vous ne savez pas quel fragment affecte quelle partie de la page.
J'ai été dans une telle situation, lorsque j'essaie d'apporter un changement, cela me semble une tâche difficile. Vous ne pouvez pas être sûr de ne rien casser car les sélecteurs jQuery dépendent de la structure HTML générée par le serveur.
À l’autre extrémité de l’échelle se trouvent les sites simples qui ne nécessitent qu’un peu d’interactivité ou de contenu dynamique. Je n'utiliserais pas non plus jQuery par défaut dans ces cas, car vous pouvez faire bien plus avec les API natives.
Même si j'ai besoin de quelque chose de plus puissant, je chercherai une bibliothèque spécialisée, par ex.
Je pense que la meilleure raison d’utiliser jQuery est qu’il fournit des fonctionnalités complètes pour le front-end d’un site Web. Au lieu d'apprendre une variété d'API natives ou de bibliothèques spécialisées, vous pouvez lire uniquement la documentation jQuery et devenir instantanément productif.
L'approche impérative n'est pas bien évolutive, mais elle est plus facile à apprendre que l'approche déclarative d'autres bibliothèques. Pour un site aux capacités clairement limitées, mieux vaut utiliser jQuery et travailler sereinement : la bibliothèque ne nécessite pas d'assemblage ou de compilation complexe.
De plus, jQuery est une bonne solution si vous êtes sûr que votre site ne se compliquera pas avec le temps et si vous ne vous souciez pas des fonctionnalités natives, ce qui nécessitera certainement d'écrire plus de code que jQuery.
Vous pouvez également utiliser cette bibliothèque si vous devez prendre en charge les anciennes versions d'IE. Ensuite, jQuery vous servira comme à l’époque où IE était le navigateur le plus populaire.
Prospection
jQuery ne disparaîtra pas de sitôt. Elle
À moins que les fonctionnalités de jQuery ne changent de manière significative, il est probable que l'utilisation de la bibliothèque continuera à diminuer lentement mais régulièrement au cours des prochaines années. Les nouveaux sites Web ont tendance à être construits dès le départ à l’aide de frameworks plus modernes, et les cas d’utilisation appropriés de jQuery deviennent de plus en plus rares.
Certaines personnes n'aiment pas la vitesse à laquelle les outils de développement Web deviennent obsolètes, mais pour moi, c'est la preuve d'un progrès rapide. jQuery nous a permis de faire beaucoup de choses mieux. Il en va de même pour ses successeurs.
Source: habr.com