Los frameworks javascript cada vez son más depurados y cada vez aportan más funcionalidades, pero al ser tantos y tan diferentes debemos pararnos a pensar cual nos interesa utilizar en cada momento. No por ser amante de MooTools, pienso despreciar el uso de jQuery o Prototype, aunque con él podría hacer lo mismo. Todo dependerá del proyecto en el que esté inmerso, la finalidad del proyecto y las funcionalidades que queramos añadirles al proyecto.
Por eso siempre es bueno saber que virtudes tiene cada framework y para que podemos usarlo, sabiendo que es mejor que los demás en ello. Via Digg, descubro una comparativa entre jQuery y las 2 versiones más recientes de Prototype, con unos resultados la mar de interesantes.
Test | Framework | Code | Time | Calls |
---|---|---|---|---|
CSS Selctor | Prototype 1.5.1.1 | $$(‘td’); | 1180.986ms | 21 |
Prototype 1.6.0-RC0 | $$(‘td’); | 1136.175ms | 24 | |
jQuery 1.1.4 | $$(‘td’); | 1573.724ms | 20 | |
Events | Prototype 1.5.1.1 | $$(‘td’).each(function(el){Event.observe(el, ‘click’, function(){alert(‘Hello world!’);})}); | 7636.846ms | 296087 |
Prototype 1.6.0-RC0 | $$(‘td’).each(function(el){Event.observe(el, ‘click’, function(){alert(‘Hello world!’);})}); | 18013.847ms* | 888218 | |
jQuery 1.1.4 | $(«td»).click(function() { alert(«Hello world!»); }); | 6608.102ms | 98712 | |
$.hide | Prototype 1.5.1.1 | $$(‘td’).each(function(el){el.hide();}); | 7738.924ms* | 345431 |
Prototype 1.6.0-RC0 | $$(‘td’).each(function(el){el.hide();}); | 7519.077ms | 394778 | |
jQuery 1.1.4 | $(«td»).hide(0); | 78278.707ms* | 493476 | |
Insertion | Prototype 1.5.1.1 | $$(‘li’).each(function(el){new Insertion.After(el, ‘<b>yay</b>’);}); | 260.423ms | 1094 |
Prototype 1.6.0-RC0 | $$(‘li’).each(function(el){new Insertion.After(el, ‘<b>yay</b>’) ;}); | 226.057ms | 1412 | |
jQuery 1.1.4 | $(«li»).append(«<b>yay</b>»); | 132.116ms | 409 |
Si escudriñamos los resultados podemos concretar que:
- Los selectores CSS de Prototype 1.5.1.1 es más rápido pese a hacer alguna llamada más.
- La gestión de Eventos es dominada por jQuery realizando menos llamadas.
- Prototype 1.5.1.1. es más rápido ocultando elementos que la versión beta (1.6.0-RC0), y mucho más que jQuery.
- La insercción de objetos está dominada por jQuery con casi el doble de velocidad y muchas menos llamadas.
Ahora, la decisión es tuya 😀
13 comentarios, 1 referencias
+
#