Contenido

jQuery vs MooTools, ¿cual es mejor?

19 may

+ 16

Aunque se intente camuflar con frases como “No son para lo mismo”, “Las dos son muy buenas”,… hay una pregunta latente detrás que siempre posiciona en un bando u otro a los desarrolladores web. ¿Cual es mejor? Esta es la pregunta a la que le han buscado una solución intentando ser lo más objetivo posible. Yo no me voy a posicionar, por que no son para lo mismo y las dos son muy buenas :D

  • El problema de mootools es que necesitas leerte un manual solo para bajartelo, cuando en jquery empiezas y tienes un solo archivo y empiezas con el $(#id) que lo hace muy facil.

    Yo (que soy un paquete en javascript) empecé con jquery porque la web era la que más me gustaba, decidi probar mootools y vi como bajarlo y solo de verlo pense que menudo coñazo si solo para bajartelo necesitas un libro de tropecientas páginas.

    Ahora hay que ver, que hace mootools que no haga jquery y viceversa, y si respondes a esto, te compensa aprender el otro?

    PD: El que si me parece bastante interesante es extjs que quiero aprender desde hace bastante

  • @Jay: Yo también uso principalmente jQuery, pero simplemente por que el Javascript que necesito crear está enfocado en modificaciones DOM y es muy sencillo crear cualquier cosa con él.

    Aunque es verdad que poco a poco, cuando hago algo más global, alguna herramienta que la manipulación DOM es algo secundaria, acabo o usando MooTools, o implementado algo similar a la programación propuesta por él.

    Como amante del Javascript he de decir, que me gusta más el código que generas con MooTools, aunque me parece más eficiente en cuanto a tiempo el desarrollo con jQuery.

  • A mi el código que haces tu con mootools me parece bastante feo, puede ser por costumbre, me podrias decir si hay algo que no puedas hacer con uno y si puedas con otro?

    Lo digo porque yo con jquery estoy muy contento y mientras no haya nada que se pueda hacer con mootools que no se pueda hacer con jquery ni lo miro…

  • Oye no queria decir el tuyo en concreto, decia en general solo lo puse mal.

  • jQuery toda la vida! Su lema “haz más con menos” se cumple a rajatabla. La curva de aprendizaje para utilizarlo es mínima, es muuuy liviano, el manejo de ajax es un chiste y tiene algunos detalles, como los efectos, que le dan un plus sobre otras librerías. A eso le sumo jQuery UI y la creciente cantidad de plugins q aparecen continuamente.

  • Lo peor de MooTools que recuerde es la documentación. Es realmente horrible, esta mal indexada en google, esta lleno de 404 porque esta desfasada con la anterior version, un framework mal documentado es un crimen. Por suerte los chicos de ClientSide solucionaron bastante al respecto, pero me sigo sintiendo inseguro. Jquery toda la vida.

  • @Jay: Por ejemplo, jQuery no puede usar, por defecto, un sistema que nos permita orientar a clases nuestros scripts.

    Aunque no es algo trivial, es una pieza angular del framework y por ello permite extenderlo muy fácilmente.

    El que el código te guste más o menos, es muy subjetivo.
    @Sebastian De Cicco: Cierto, la curva de aprendizaje es increiblemente suave, está pensado para que en unas minutos puedas hacer una aplicación entera. Y cuando lo usas lo notas en los primeros segundos de uso.
    @sanbor: También creo que la documentación está un poco verde, pero como me he tenido que pegar con la de Java, todas me parecen una maravilla :D

  • Esta vez no iba a entrar en este debate pero es que …

    Vamos a ver … voy a intentar descargar MooTools sin leer ese enorme manual … veamos si hay suerte.

    Voy a mootools.net, uff por ahora todo bien. A ver a ver … ¡Anda arriba veo un enlace que pone Download. ¿Podré pulsarlo sin peligro? Parece que sí.

    Ahora veo tres enlaces, no entiendo su significado, ¿qué será eso de “Compression type”? Uff, necesito ese denso manual de descarga al que hacen referencia pero no lo tengo. Probaré a pulsar alguno de esos enlaces … ¡Anda se pone en marcha una descarga! ¡Lo he logrado!

    Pero veamos, supongamos que del framework no necesito el modulo de efectos, ni el de cookies y tampoco el de peticiones HTTP. Quiero ahorrar espacio. Nos vamos al enlace More Builder que aparece en la página de descargas y nos frabricamos nuestro paquete a medida.

    Que curioso, por más que miro en el manual de chorrocientas páginas de jQuery no veo como hacer lo mismo…¿alguien puede indicarme donde hay que pulsar?

    En ciertos momentos parece que hubiera gente dedicada a hacer FUD con MooTools : lo de la dificultad de descarga es absolutamente falso y lo de la mala documentación también.

    La verdad es que soy un poco mal pensado pero es que veo en la página de descarga de jQuery eso de “Documentation: Visual Studio” y me trae malos recuerdos :D

  • Bueno y ya que se habla de extjs voy a dar un paso más y decir qué pasa con dojo… me parece que es framework de javascript muy potente. Sobre todo por el proceso de internacionalización y otras muchas más historias y widgets que dispone.
    Realmente es asombroso ver la lucha que hay actualmente y la variedad de frameworks para trabajar con javascript.

  • @aNieto2k: Para mi eso es secundario porque hago cuatro paridas en ajax, alguna mierda con los selectores para algun toggle o cambiar algo el css. (Lo dije, no me gusta el javascript)

    Ahora, quitando para casos raros como yo, supongamos que desarrollo mis plug ins para jquery, compensa invertir tiempo aprender mootools o cualquier otro framework?

    @joseanpg: Eso es nuevo? porque JURO que no lo conocía y cuando quise aprender digamos hace 2 meses en el manual creo que oficial (o al menos un enlace desde la web de mootools) no lo vi y recuerdo que en el manual ponía como bajartelo y para que servia cada cosa.

    PD: No intento convencer a nadie de que jquery es mejor que mootools ni viceversa, pero digo, si te llega la funcionalidad de uno y te sientes a gusto, te compensa aprender otro?

  • Mi experiencia con jQuery fue muy mala. Una vez me pasaron un código para que lo arreglara, usaba .animate(). Me dirigí a la documentación, pero era *increiblemente incompleta*. Suponganse, decia “options” pero no tenía ni un ejemplo ni una lista de opciones utilizables. Probé como media hora cambiando cosas sin suerte, y terminé abriendo el propio jQuery, buscando animate y fijandome los parametros.

    Eso fue hace un tiempo, no se si habrá cambiado. Yo por mi parte encuentro Mootools muy bueno, y es lo que uso en todos mis proyectos, y nunca tube ningún problema. Y la documentación de mootools es muy completa, para el que decía lo contrario más arriba.

  • @jay la primera vez que me interesé en MooTools fue cuando leí que no sólo podía descargarse el framework completo, sino que podía descargar un paquete con los modulos que uno deseaba y de eso hace ya más de 18 meses.

    Respecto a la documentación, en ese mismo momento descubrí el magnífico Mootorial que en aquel momento llevaba integrada la consola que ahora está disponible mediante el bookmarklet Moobugger. No existía nada parecido para ningún otro framework en aquel momento. De hecho no conozco nada igual actualmente.

    Es muy curioso que los jQuery-adictos digan con frecuencia que la documentación de jQuery es magnífica. Muy al contrario, deja mucho que desear. Pongo un ejemplo concreto: hace unos días Andrés nos ofreció una entrada sobre optimización con jQuery. No es la primera vez que Andrés toca estos temas, de hecho estuvo investigando de forma comparativa la eficiencia de los distintos frameworks. Era sorprendente lo lento que era el super framework de moda a la hora de realizar ciertas operaciones con el DOM.

    Centrémonos concretamente en el método html(val). Es de esperar que consultando al documentación de la API nos explique un poco que acciones realiza de manera que podamos entender que es lo que estamos haciendo cuando invocamos dicho método. Esto es lo que encontramos:

    html( )

    Get the html contents (innerHTML) of the first matched element. This property is not available on XML documents (although it will work for XHTML documents).

    html(val)

    Set the html contents of every matched element. This property is not available on XML documents (although it will work for XHTML documents).

    ¡Impresionante documentación! Uno tiende a pensar que nos están diciendo que usan innerHTML, lo cual es claramente imposible a la
    vista de lo que tarda.

    Bien, pues reto a cualquier amante de jQuery a que me de la referencia oficial en la que se explique que dicho método depende de append que a su vez invoca a un plugin fagocitado por el ‘core’ denominado clean cuyo objetivo es limpiar (normalizar) HTML que pueda provenir por ejemplo de … Word. ¡Sorprendente! Creo que eso debería estar claramente explicado en la doc oficial, que no estamos para perder el tiempo. Ya se sabe que habitualmente cuando programos una inserción de HTML en DOM previamente la hemos copiado del procesador de texto, no te digo …

    Pero curiosamente nadie se queja (salvo Andrés ;) ).

    Cómo quejarse … tratamos con jQuery el super-magnífico y reluciente framework de moda. Escribe menos y haz más. Eso sí, la documentación, la infrastructura de los demás frameworks es claramente defectuosa.

  • @jay: Lo de la modularización de MooTools está practicamente desde que apareció. Incluso antes, cuando estaba Moo.fx (que usaba Prototype) ya estaba algo dividido para evitar esos tamaños de ficheros.
    @joseanpg: Estoy de acuerdo en el que la documentación es horrible en muchos casos, y la de MooTools tampoco es para tirar cohetes. Pero ahora recordando salvo la de Prototype no recuerdo ninguna que digas “Ole! Que documentación!”.

    En las pruebas de velocidad en acciones sobre el DOM que vimos hace unos meses en el que Dojo dejaba a los demás a la altura de betún, vimos como jQuery 1.3.2 ofrecía unos resultados realmente alarmantes, casi la mitad de lento que MooTools y casi 3 veces más lento que Dojo.

    Estos datos son importantes, por que aunque se traten de milisegundos, son interacciones con DOM, que es prácticamente el 80% del Javascript que desarrollamos.

    Personalmente me posiciono en un punto intermédio entre Joseanpg y Jay. Soy fanático de jQuery por la velocidad con la que me permite desarrollar, pero me siento más realizado y más orgulloso de las cosillas que saco con lo poco MooTools que sé :D

  • Si yo digo lo de la versión normal, todo en 1, no los paquetes.

  • salu2 a todos yo recien entro en este mundo y hace 3 meses manejo jquery con postgresql y es muy facil entenderlo y hasta ahora no me ha fallado y eso que trabajamos con cientos de registros

  • algunos ejemplos buenos k kieran compartir…….

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.