Sizzle : des CSS dans le JavaScript

Publié le Mis à jour le

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.


  • Développement

  • Framework

  • JavaScript

  • jQuery