· Tech watch

Sizzle : des CSS dans le JavaScript

La sortie récente de jQuery 1.3 a sûrement ravi de nombreux développeurs avides des performances et de la souplesse d’utilisation de cette librairie.

Ce que l’on sait un peu moins, c’est qu’elle a remplacé son moteur de sélection CSS par un tout nouveau venu : Sizzle !
Ce n’est pas non plus un grand hasard puisque son auteur principal est John Resig… celui-là même qui a initié le mouvement jQuery, 4 ans plus tôt.

Bon, Sizzle c’est quoi ?

Il ne faut pas chercher midi à 14 heures : Sizzle est ce qu’on appelle communément une librairie de sélection CSS. Cette librairie écrite en JavaScript permet de parcourir le DOM d’un document (HTML, XHTML, XML etc.) à l’aide d’expressions CSS.

Ainsi, pour sélectionner et manipuler tous les sous-enfants de DIV d’une page, on se contentera de faire un Sizzle.find('div > div').
_ Ça vous paraît proche d’utilisation de jQuery, YUI ou encore de Prototype ? C’est normal : c’est exactement sa vocation.

La seule différence c’est qu’aujourd’hui, on dispose d’un moteur de sélection à la fois performant, léger, complet, et qui a le mérite d’être autonome.

Quel intérêt pour nous ?

Pourquoi utiliser Sizzle quand on peut utiliser une autre librairie, notamment jQuery (qui la réutilise) ?
_ À première vue on pourrait répondre « pas grand chose » ou « qui peut le plus, peut le moins ». En effet, autant avoir la possibilité d’utiliser de l’Ajax, des effets et autres manipulations.

On pourrait se poser la question dans l’autre sens : pourquoi embarquer entre 18 et 50 Ko de JavaScript supplémentaire pour utiliser des sélecteurs CSS alors que Sizzle n’en prendra qu’entre 3 et 20 ?
_Sizzle pourrait être la pierre angulaire de nouveaux frameworks hybrides : simples et conçus pour le besoin. Un peu de travail en plus pour autant de performances gagnées ?

De quoi se poser des questions sur les centaines de kilo octets de JavaScript embarqués sur chaque page.

Bref …

Sizzle n’est certainement pas la révélation de l’année ni le nouveau hype hi-tech Web 2.0, mais cette sortie a le mérite de remettre sur le tapis la problématique des sites Web rapides.

Il manque à l’heure actuelle de la documentation (utilisation et API) pour populariser sur cette librairie. Le temps devrait venir combler cette lacune de jeunesse.

4 commentaires

  1. Nicolas Hoizey

    Ce qui est intéressant aussi avec Sizzle, c’est justement le rapprochement de travaux concurrents pour capitaliser sur des besoins et solutions communs.

  2. Ce n’est pas inintéressant, mais quant même assez anecdotique. La fréquence et l’intérêt des billets publiés ici diminuent, c’est dommage, surtout quant on la compare à la qualité de la production personnelle de quelques-un de vos consultants. Est-ce le signe que les blogs sont une forme dépassée pour la communication d’entreprise ? Voici une question qui mériterait peut-être un billet ;)

  3. Anecdotique? Je trouve que Sizzle semble un outil très puissant! En tout cas, je suis bien content d’avoir été informé de son existence.

  4. Salut, félicitation pour vos articles !!

    j’aurais; si possible; quelques questions de débutant;

    D’après ce code source :
    http://pastebin.com/aCTpck2j

    Comment puis-je extraire le jquery Fullscreen Slideshow.
    Afin de intégrer comme sur ce site :
    http://besttheme.net/demo/2389/

    Sur un autre thème; plus rapide et bcp moins lourd?

    Merci, pour vos précieuses informations.

    Cordialement;

    C.

Les commentaires sont désormais fermés.