Contenido

Prototype vs jQuery, la competición de los frameworks

15 sep

+ 14

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 :D

  • Me gustan estas comparaciones, yo uso jquery, me parece muy sencillo y con bastante comunidad (que es lo inportante) tb he echado un ojo a mootools,me gusta que sea modulable, pero la verdad que con jquery consigo de momento todo.

    Mi voto Jquery

  • Yo también comencé a usar activamente jQuery. Otra ventaja particular de jQuery es que es casi un 50% más liviana que Prototype, lo cual fue mi principal criterio a la hora de elegirla para mis proyectos.

    Mootools no he alcanzado a evaluarla, pero tiene a favor de Prototype el tamaño, como jQuery.

    Así que mi voto va por jQuery ;)

  • Creo que ya ha salido la versión 1.2 de jQuery, me equivoco? También podrías haber realizados las pruebas en dicha versión.

  • Sin duda, jQuery. Yo estoy trabajando ahora mismo con la versión 1.2 y es todo un gustazo.

  • En casi todas las comparaciones que he visto, el framework que publica los resultados es el que gana, es increíble, como cuando hay elecciones e incluso los que pierden dicen que ganaron.

    De todos modos, para agregar otra comparación más, el otro día estaba viendo una comparación en la página de extJS: Ext JS Blog – » CSS Selectors – Speed Myths (sobre el cual, por lo que he visto especialmente con eXtplorer, me parece bastante impresionante; extraño que no haya visto mucho por acá)… pero bueno, lo importante no eso, sino la gran diferencia que hay en el rendimiento de las librerías en diferentes navegadores.

    Y, aparte de eso, hay que mencionar que la suite de pruebas de mootools es fantástica: SlickSpeed Selectors Test

  • difiero un poco con los comentarios anteriores, por mi parte prefiero Prototype ante cualquier libreria, pero no con esto quiero decir que no he ocupado JQuery o Mootols.

    Pero aunque Prototype sea un tanto pesada, encuentro que su velocidad y “madurez” es la que me atrae y la hace tan importante. A su vez tiene una gran comunidad, gran lista de clases, etc y etc.

    Saludos

  • Vendría de diez agregar mootools a la lista… Andrés, por que elejiste mootools vos personalmente??…

  • yo uso prototype más que jquery o mootools, me sorprende que la version nueva (1.6.0-RC0) no supere a la versión anterior, esperemos que esto mejore en proximos versiones.

  • solo para intentar aclarar sin ser poseedor de la verdad absoluta, solo con el fin de clarificar conceptos

    ni jquery, ni mootols, ni prototype son frameworks, todos ellos son tooltips que a adaptan una misma sintaxis para los recursos js de cualquier navegador

    como tooltip pueden formar parte de un framework [symfony, rails, etc]

  • @maltos: Creo que te estás confundiendo.

    Los frameworks que tu estás normando, son frameworks para lenguajes de servidor. Al igual que para esta parte del desarrollo web, existen frameworks para lenguajes de cliente, CSS, Javascript,…

    De ahí, que Prototype, jQuery, MooTools, ExtJS, … sean llamados frameworks.

    Los frameworks son conjuntos de utilidades que definen un estándar a seguir para desarrollar en un lenguaje determinado, ya sea JS, PHP, Ruby, Java,…

    Los frameworks nos ayudan en todos los lenguajes.

    Saludos

  • Siempre lo mismo, busco y busco, y al final doy con la tecla en esta pagina.
    Y deseo que siempre siga existiendo.
    Gracias….

  • Hola, muy bueno su foro.

    Keria preguntarles… ustedes q saben tanto jejeje. Estoy aprendiendo a programar en X lenguajes… y siempre caigo en que se debe usar prototype y me han recomendado Jquery:

    Ahora bien he visto que los 2 son muy buenos…. (pero para empezar no me interesa la velocidad o respuesta q tengan) sino que me interesa cual es mas facil de aprender … he visto prototype y puf…. q JS mas largo…. A su vez… q paginas me recomiendan (ya sea para cualquier framework) que mire para aprender solo las multiples funcionalidades q poseen? Saludos

  • Me llamo Cristian y estoy realizando mi tesis con respecto desarrollo rápido de aplicaciones web y el real aporte de las estructuras de trabajo o framework.

    Para los frmework JS finalmente estoy obtando por comparar prototype y jquery y ambos presentan caracteristicas similares. Mi liea de trabajo para los JS se enfoca en desarrollar aplicaciones web ricas en interactividad y que cierren la brecha que existe con las aplicaciones de escritorio.
    jquery en este sentido aporta potentemente debido al mejor manejos de eventos y edectos visuales que posee. Prototype creo que tiene todo para igualar a jquery en efectos visuales pero necesita la ayuda de scriptaculous.

    Espero haya servido de algo mi comentario y si ahi criticas por favor escribir un comentario abajo.

    Saludos

Comentar

#

Me reservo el derecho de eliminar y/o modificar los comentarios que contengan lenguaje inapropiado, spam u otras conductas no apropiadas en una comunidad civilizada. Si tu comentario no aparece, puede ser que akismet lo haya capturado, cada día lo reviso y lo coloco en su lugar. Siento las molestias.