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, 0 referencias
+
#