Utilizar Sizzle en tus proyectos

Sizzle JS

Muchos desarrolladores tienden a instalar directamente jQuery para sus proyectos. Sin pensar en que, en muchos casos, no es necesario. Existen alternativas que nos pueden ayudar a evitar una carga de más de 80kb de jQuery. Sizzle es una alternativa muy interesante que nos sirve como selector de elementos.

Introducción
En muchos casos, trabajaremos en proyectos pequeños que no requieren todas las funcionalidades de jQuery. Por experiencia propia, en muchos casos, solo necesitamos trabajar con los selectores y añadir eventos a ellos.
Por cuestiones de performance, no tenemos por qué cargar los más de 80kb de jQuery, y en su lugar podemos usar una herramienta muy interesante llamada Sizzle
Sizzle es, básicamente, un motor de selectores hecho en Javascript. jQuery cumple esa funcionalidad también, pero tengamos en cuenta que también tiene para manipular el DOM, cosa que Sizzle no tiene.

Ejemplo de uso
Sizzle es muy fácil de usar, lo más importante es tener la noción de que no todo se puede hacer con jQuery, o que jQuery debe estar si o si en nuestros proyectos.

Sizzle('.header');

Así seleccionamos nuestro elemento con clase header. Similar a jQuery. Podemos hacer esto también:

var s = Sizzle;
s('.header');

Añadiendo eventos a nuestros selectores
Lo siguiente es cómo utilizar eventos dentro de nuestros selectores. Veremos que es muy sencillo:

var $ = Sizzle;
var foo = $('.foo');

foo[0].onclick = function() {
  this.style.color = 'red';
}

Es un ejemplo muy básico, pero nos sirve de base para hacer directamente lo que queramos.

Usando Sizzle con jQuery
Twitter, por decir un ejemplo de un "grande", utiliza tanto Sizzle como jQuery. Suena descabellado luego de lo que puse al comienzo, ¿no?
Sizzle es un componente de jQuery, y su motor de selectores es un 30% más rápido que los de jQuery. Lo pueden ver desde este enlace.
Entonces, podemos utilizar Sizzle para nuestros selectores. Y Luego jQuery para manipular nuestro DOM. ¿Qué ganamos con esto? Que podemos aumentar el rendimiento de nuestra Web sólo agregando 4kb más de carga (que es lo que pesa Sizzle actualmente). Sinceramente lo recomiendo para proyectos muy grandes, donde realmente se aproveche esta mejora de rendimiento por más carga de archivos Javascript.