Hoy Ajaxian, publica un artículo que yo quería haber escrito hace unas semanas. TaskSpeed es una aplicación que usar SlickSpeed para testear los principales frameworks JS en acciones DOM básicas. Los resultados obtenidos han declarado a Dojo como el framework JS más rápido, seguido de MooTools 1.2.1 y jQuery 1.3.2.
Estos resultados puedes comprobarlos directamente en el propio test.Es interesante ver como estos resultados son similares a los obtenidos en el Framework Speed Test, una aplicación que monté con la ayuda de todos los que me ayudaron a montar los ficheros de pruebas de cada uno de los frameworks.
En todos los test, vemos que sorprendentemente jQuery es excesivamente lento y Ext.js impresionantemente rápido. En las pruebas que realicé tenía miedo de lo contrario, ya que al usar el selector CSS (Sizzle) podría beneficiar a jQuery en estos puntos. Lamentablemente esto no le ha servido para nada, principalmente por la generación de DOM que lo hace de una forma diferente a los demás.
jQuery
La función html()
de jQuery, genera los elementos DOM y los injecta en el elemento seleccionado, algo más laborioso que los innerHTML
que hacen los demás frameworks. Esto no debe servir de excusa, ya que en una versión con innerHTML
que monté para igualar los frameworks jQuery no llegaba a despuntar frente a los otros, aunque si que mejoraba algo.
Ext.js
Por otro lado en Ext.js, me ha sido imposible encontrar algo que permita hacer un fireEvent()
, bueno miento, monté un sistema que funcionaba, pero era el proceso más lento de los testeados y no me parecía justo implementarlo, así que aparece como Error, pero no es que se haya producido un fallo, sinó es que no está desarrollado.
También me parece interesante destacar los 500kb necesarios para ejecutar Ext.js.(Es un merge de 2 ficheros del framework)
Bueno, si consigo añadir Dojo sería interesante verlo frente a frente a Ext.js.
Proyecto
El proyecto está disponible en GitHub.
Agradecimientos
- Jota y Jose Antonio por aguantarme en la infinidad de mails que hemos cruzado.
- John Resig, por contestar a un mail sobre la optimización de las pruebas de JS.
- Paul Bakaus, por la ayuda ofrecida en la optimización.
- JuanPe, Kike, Jordi y Luigi por debatir conmigo los resultados.
- A todos vosotros por leerme cada día. 😉