jQuery est la plus grande bibliothèque JavaScript open source, inter-navigateurs, compatible CSS3, et elle a simplifié les scripts côté client.
La syntaxe est simple et jQuery peut produire de belles animations presque Flash. Contrairement à Flash, jQuery est visible sur iOS et produit facilement des pages Web dynamiques.
La popularité de jQuery augmente rapidement et, avec la récente conférence jQuery tenue à San Francisco à la fin du mois de juin, il semble opportun de commencer une conversation sur jQuery et plus particulièrement sur les avantages et les inconvénients de l’utiliser pour des tâches plus exigeantes.
La meilleure chose à propos de jQuery est peut-être que vous n'avez pas besoin d'être un génie de la programmation pour épater vos clients.
Il y a généralement plus d'une façon de dépeindre un chat, mais la possibilité d'ajouter des plug-ins au-dessus de la bibliothèque de base fait de jQuery une solution incroyablement flexible et surtout rapide. Utiliser CSS peut être le meilleur choix dans certains cas (voir ci-dessous) mais si vos compétences en programmation sont plus limitées, la sélection de jQuery vous aidera à faire le travail.
Le développement Web est trop souvent un processus fastidieux et économiser des minutes, voire des heures de travail, n'est souvent pas un luxe mais une nécessité. John Resig et les autres développeurs du projet jQuery comprennent réellement l’équation temps / argent à laquelle les développeurs Web doivent faire face quotidiennement. La mise en œuvre rapide signifie généralement plus d'argent dans votre poche.
La verbosité de JavaScript, la complexité de la mise en œuvre de CSS et les inconvénients bien connus de Flash font de jQuery la solution la plus pratique à de nombreux problèmes courants, notamment les transitions DOM, la gestion des événements, les interactions AJAX et l'animation.
Microsoft et Nokia sont tous deux derrière jQuery et prévoient de l’intégrer à leurs nouvelles plates-formes, ce qui laisse entrevoir un avenir prometteur. De plus, presque tout le monde dans la communauté open source est derrière jQuery parce que:
L'open source permet une croissance rapide et dynamique. Il n'y a pas de licence à craindre et c'est gratuit. Free se traduit en réalité par une communauté d’esprit beaucoup plus large et intelligente que les développeurs captifs d’une seule entreprise.
Le noyau de jQuery a été conçu par certains des esprits les plus brillants du secteur et le développement explose littéralement.
Papier découpé d'un homme d'affaires sur un vieux livre via shutterstock
L'open source a ses problèmes: par exemple, tout n'est pas construit selon un standard commun. Cela ne pose aucun problème si votre client - ou plus probablement vous - avez le temps et l’argent d’investir le code de réglage. Cependant, si le temps, l’argent, les capacités ou les trois sont trop courts, votre dos se heurtera au mur en cas de problème.
La dernière version stable de jQuery (v1.7.2) a été lancée le 21 mars 2012, de sorte que la possibilité de trouver des solutions communes à votre problème exact, tirée du pool de communauté, sera probablement insuffisante pour un certain temps.
Un autre problème majeur de jQuery est qu'il existe plusieurs versions. Certaines versions fonctionnent bien avec d'autres et d'autres non. Par exemple, la compatibilité du navigateur avec les animations est un problème de longue date avec les animations jQuery. En vous assurant que vous exécutez actuellement la dernière mise à jour jQuery, vous corrigez un grand nombre des problèmes connus liés aux animations jQuery, mais vous choisissez entre héberger vous-même la bibliothèque et mettre à jour la bibliothèque de Google. de nouvelles versions sont publiées.
Le toolkit de contrôle AJAX fournit des contrôles côté serveur. Cela donne au développeur beaucoup plus de puissance et de flexibilité. Mais la boîte à outils AJAX est grande et volumineuse par rapport à jQuery. Au fur et à mesure que jQuery continue à développer, le code léger gagnera probablement, surtout avec Microsoft, car en sauvegardant jQuery, Microsoft dépose essentiellement ses propres MicrosoftAjax.js. En apparence, les résultats de l'utilisation de jQuery pour traiter XML sont vraiment intéressants. il y a si peu de lignes de code, tout semble tellement simple ...
Cependant, la gestion d'AJAX et de jQuery est un domaine commun où les inconvénients de ne pas être un programmeur deviennent souvent évidents. Par exemple, il est essentiel de comprendre les différences fondamentales entre les requêtes HTTP GET et POST, et pourtant, de nombreux concepteurs qui ne disposent pas de ces connaissances s’attachent à ce que jQuery prenne le relais. Il y a des pièges dont les concepteurs ne sont peut-être pas conscients. Par exemple, les demandes GET peuvent être limitées en longueur et de nombreux programmeurs inexpérimentés se contentent de passer au POST pour résoudre le problème; Cela peut être une mauvaise idée, GET n'apporte aucune modification durable sur le serveur, contrairement à POST. POST n'est pas une commande qui doit être répétée arbitrairement, mais parfois elle est utilisée sans le savoir.
Un autre problème courant lié au serveur et lié à jQuery se pose si $ .get est utilisé à la place de $ .getJSON (notation d'objet javascript). Ne pas utiliser $ .getJSON pour les problèmes de transport de données peut causer toutes sortes de dégâts.
Jeune garçon faisant semblant de conduire un déménageur géant via shutterstock
Il est facile d'être cool avec jQuery, ce n'est pas si facile d'être cool et correct.
Pour utiliser jQuery et surtout cool, jQuery nécessite un engagement envers la communauté. Le développement est rapide et excitant, mais cela peut également conduire à des problèmes liés au temps. Le développement est si rapide dans certains domaines que si un développeur ne suit pas et ne participe pas régulièrement à la communauté, il est facile de rester dans la poussière. Il s’agit d’un engagement de temps supplémentaire pour les développeurs qui sont à court de temps à essayer de gérer une entreprise, à s’occuper de plusieurs clients, à mettre en œuvre des campagnes de référencement et de marketing de contenu et à toujours voir leurs enfants.
Il est nécessaire d'évaluer de façon réaliste votre niveau de compétence et le temps requis pour rester au fait de tous les nouveaux développements de jQuery.
Les deux gros éléphants du placard liés à jQuery ont été laissés pour compte: la vitesse et le code spaghetti.
jQuery peut être lent, et pour l'animation parfois beaucoup plus lent que l'utilisation de CSS. Dans un grand site complexe, chaque petite fraction de seconde compte. La raison en est double: plusieurs manipulations de DOM, les unes sur les autres, peuvent ralentir un site; Deuxièmement, CSS utilise des transitions côté navigateur pour les animations et est écrit en C ++. Cela le rend légèrement plus rapide que JavaScript.
jQuery spaghetti, si vous ne l'avez pas encore rencontré, à temps vous le ferez. Le plus grand attribut de jQuery - sa facilité d'utilisation - est aussi sa guérison d'Achille. jQuery est une bibliothèque conçue pour aider avec les transverses DOM et les sélecteurs CSS. Il le fait avec une efficacité étonnante. Il n'est pas destiné à être utilisé en tant que Framework pour une interaction côté client. Utilisé incorrectement, en particulier les sélecteurs jQuery CSS, le résultat final peut être un code qui grandit et se développe dans un fichier .js de taille monstre jusqu'à ce qu'il devienne impossible à maintenir. Jetez des callbacks, quelques modifications de conception cosmétique et des noms génériques et par la suite, maintenir un site jQuery peut devenir un cauchemar.
Vintage Photo de deux jeunes garçons mangeant des spaghettis avec leurs mains via shutterstock
La communauté jQuery s'attaque aux problèmes liés aux spaghettis jQuery. Cedric Dugas a sensibilisé le public au sujet des spaghettis jQuery chez Confoo. Il se consacre entre autres à rappeler aux programmeurs d'utiliser les meilleures pratiques avec jQuery pour éviter les spaghettis. Comme l’a fait remarquer un concepteur d’avant-guichet, pour utiliser jQuery, vous devez connaître et comprendre le langage JavaScript. La découpe et le collage présentent certainement des inconvénients, car ils permettent d'obtenir des résultats sans comprendre. Bien que cela puisse fonctionner pendant un certain temps, cela peut également causer toutes sortes de problèmes de maintenance à long terme.
Utiliser un bon framework peut aider à éviter certains des spaghettis jQuery. Malheureusement, les frameworks sont vraiment un nouveau domaine et il faut du temps pour choisir le (s) framework (s) approprié (s) et les amener à jouer avec les autres. Encore une fois, ce temps supplémentaire doit être pris en compte dans l’équation jQuery. À l'heure actuelle, de nombreux frameworks cherchent à dominer l'espace MVS Framework côté client. Backbone.js est le plus populaire en ce moment mais il a une concurrence sérieuse.
jQuery est l'une des meilleures bibliothèques sur le marché et peut faciliter l'écriture de JavaScript. Cependant, comme de nombreux outils, jQuery est utilisé par un artisan expert. Est-ce que nous tombons tous dans cette catégorie? Bien sûr que non. Est-ce que cela signifie que nous ne devrions pas utiliser jQuery? Bien sûr que non. Cela suggère simplement que d'avoir assez de bon sens pour demander de l'aide lorsque vous êtes hors de votre portée est une bonne idée la plupart du temps.
Utilisez-vous jQuery et connaissez-vous également JavaScript? Avez-vous besoin de comprendre la programmation pour implémenter jQuery? Faites-nous savoir ce que vous pensez dans les commentaires.