|
jQuery Publication : 03 septembre 2010 Découvrez jQuery, une librairie JavaScript très appréciée des développeurs web. |
|
Découvrez jQuery :
JQuery est une librairie javascript opensource qui simplifie l'exploration DOM, la gestion d'évènements, de requètes Ajax et d'effets visuels, à l'instar de Dojo, Mootools, Prototype ou Mochikit.
Son paradigme est de rendre le code portable entre les navigateurs, plus concis et plus agréable à lire.
Elle est facile à prendre en main et à intégrer sur un site existant.
Son ancienneté (la première version date de 2006) et le dynamisme de son équipe, en font un outil stable, utilisable en environnement de production.
De nombreux plugins libres sont développés par la communauté, et répondent à la majorité des besoins fonctionnels ; à défaut ils rendront votre interface client moins rigide.
L'essentiel :
L'exploration des documents xml est sa première fonctionnalité.
Elle permet de consulter/modifier des données de manière dynamique. Le construction DOM prend en paramètre le chemin de(s) élément(s) à retourner, à la manière d'une requète xpath. La syntaxe utilisée ressemble beaucoup aux sélecteurs CSS3 :
Une des forces de jQuery est de nous forcer à revoir notre manière de coder pour y intégrer par exemple le concept objet (implémenté mais si rarement utilisé en javascript).
Pour aller plus loin :
La gestion des évènements fonctionne d'une manière assez similaire à ce que l'on peut trouver en Java ou C++. Pour associer une méthode ( handler() ) à un évènement ( trigger() ) ; on va créer un listener qui va se charger de rapporter tout déclenchement sur un élément donné.
> $('a').click(function() { alert('vous avez cliqué sur le lien ' + $(this).html()); return false; });
La méthode ci-dessus permet par exemple d'intercepter les clics sur les liens, mais on peut imaginer des scénarios plus complexes ; comme la prévarication d'un formulaire par exemple :
> $('form input[type="submit"]').click(function() { $form = $(this).parents('form:first'); if(validate_entries($form)) { $(form).submit(); } else { return false; } });
Il est à noter que chaque lien évènement/méthode s'ajoute à ceux déjà définis. Si l'évènement est déclenché, elles seront toutes exécutées dans l'ordre des déclarations.
jQuery offre des méthodes simplifiées de gestion d'appels asynchrones. La librairie permet de gérer la plupart des formats de réponse (texte, html, xml, json). Les appels client/serveurs doivent être locaux afin de limiter les possibilités de cross-site-scripting (XSS). Si l'on souhaite utiliser un service externe, il faudra implémenter le dialogue serveur/serveur. Voici les deux méthodes principales :
Il est fortement conseillé de consulter la documentation relative aux méthodes Ajax tant celles-ci peuvent être paramètres.
Etendre jQuery :
jQueryUI est le pendant graphique de la librairie. Les deux librairies ont été séparées car la seconde nécessite un ensemble de dépendances médias. Ainsi on pourra se contenter de jQuery seul si l'on souhaite gagner en performances, ou jQuery+jQueryUi pour enrichir les templates clients. On y trouve entre autres :
Chaque thème est personnalisable rapidement afin de mieux coller à la charte graphique.
Il existe aussi de nombreux modules fonctionnels (plusieurs centaines). Aussi il y en aura certainement un qui correspondra à vos besoins. L'installation d'un module se résume à l'ajout du fichier librairie et de ses dépendances. Parmi les plus populaires, on pourra citer :
L'installation de nombreuses extensions peut rapidement poser un problème de poids. Il est donc conseillé d'utiliser un compresseur javascript/css comme YUICompressor afin d'améliorer les performances.
Conclusion :
jQuery n'implémente rien de nouveau mais permet de gagner :
Bibliographie :
Arnaud