jQuery vs Mootools, one year later

Matthew Nuzum —  — 19 Comments

A year ago I was making my decision on a javascript library. At that time I felt Mootools was the best deal. It was small, it was easy to learn, the ajax was dead simple (and needed no stupid tricks like reading the HTTP header for json data), it had beautiful effects and it was fast. It was far smaller than dojo and mochikit and it was a toss-up between it and jQuery as to which would dominate in the “*market*” that they both shared.

In the last year though things have changed. All the good stuff about mootools is still good. However jQuery is being adopted by many open source websites and projects and is getting a larger amount of development and documentation work than mootools. They project has risen to the challenge of addressing code efficiency and download size. The jQuery community has shown itself to be open and friendly while the mootools community is starting to feel elitist.

For the record, dojo has split its mammoth library into a few different packages now so the core, which is very feature competitive with jQuery and mootools is also now in the same ball-park for download size. The benefit of dojo is that the mammoth code is still available as plugins providing the widgets and data visualization features, ready to load when needed.

Maybe its time to start re-evaluating the JS library I use.

If it helped, please share!Tweet about this on TwitterShare on FacebookShare on LinkedInShare on Google+

Matthew Nuzum

Posts Twitter Facebook

Web guy, big thinker, loves to talk and write. Front end web, mobile and UX developer for John Deere ISG. My projects: @dsmwebgeeks @tekrs @squaretap ✝
  • I started writing a long tirade against mootools, and stopped when I realized my points were tantamount to a book treatment. I should seek a publisher.

    I haven’t used any framework other than Mootools, but constantly evaluate the options that are available. Mootools is the fastest, most innovative, and technically superior to all the others. But it may not be for long; it has indeed grown stagnant and the recent 1.2 release may not be able to save it. As is, Mootools requires too much dependence upon OOP Javascript fundamentals for it be easily ingested by javascript neophytes (i.e. the vast majority of front-end developers).

    The community is substandard. The developers of the framework itself are elitist by association to their egotistical, presumptuous, and prodigal young javascript leader, Valerio Proietti. Collectively, they spend too much time parrying with their own community over their lack of knowledge. I was banned from the forums for bringing up their lack of friendly acceptance, and suggesting an alternate approach to communicating with the public. I suppose you could reason I am disgruntled, but this assertion would not explain why I use MooTools exclusively.

    Unfortunately, the project leaders’ insolence and terse contributions to documentation force you to piece together an education on Javascript over a period of months. The framework will flounder unless they take a corporate approach in presenting the framework to the public, build the MooTools brand, and build exhaustive documentation and resources for its potential users, regardless of their skill level.

    Take the heretofore unheard-of Sproutcore as an example. Apple adopted it, and put it on the map. Yet still, it has professional appeal out of the gate. It isn’t logical for newcomers, but expect it to do right by its adopters after time is spent in the documentation.

  • I just don’t have time to get deep into any Javascript framework: every time I try it seems there is a better one out there! So I chose by instinct: the best framework for me should be the one that allows me to learn and do faster. And the best for me is jquery.

  • plenty

    I find the moo forums top notch to be honest.

    There aint any trolls.

    If you can post a few lines of code you wrote yourself, the feedback is good and helpful.

    They are focused and clean – without any of that fluff that crowds others forums.
    I think they do a fantastic job – and as a moo resource, i don’t think you could ask for much better.

    When this Noob signed up – I sure wasn’t scared away.

    peace.

  • Yeah, I have tried quite a few of the JS libraries/frameworks..for the best UI, I have to admit Ext has the edge of that, and for code simplicity..I vote jQuery. But for the best overall library, I would have to say Dojo. It has a good UI, (which is incredibly easy to use, with the HTML attributes, which I love and hate at the same time, because it breaks XHTML validity..which is pretty easy to solve..but thats a topic for another time). The thing I do like over Dojo is jQuerys selector system, Dojo is almost as good as jQuerys, but I like jQuerys more..and Dojo’s XHR wrapper could be a lot better, like jQuery’s AJAX wrapper. But I think the advantages outweight the few disadvantages, and I would have to say I like dojo the most, especially for any kind of larger project. And Dojo’s subscribe/publish system is amazing.

  • Joe

    I very much prefer the way moo-ppl solve problems as much as i prefer the forum over there over others – i’ve been programming for about 15 years now (started with qbasic, c, c++, asm, pascal, …) and it’s always the same:

    There is a huge help and documentation which you just have to click, but ppl instead ask a stupid question in a forum like:

    “Why isn’t that working? P.S. I just started with html today and don’t have any idea what i’m doing. PPS.: sorry for my bad english”

    I mean, if they just started, shouldn’t that be enough to start by using tutorials? or by learning the basics?

    And: when they want to post in an english forum, why don’t they learn english before doing so? (I’m an austrian and as such my mother tongue ain’t english, so i know what i’m talking about)

    And about ui: who needs that??? If you start doing too fancy stuff in js, you should rethink your decisions – javascript wasn’t made for gfx intensive stuff, you’re probably better of with flash if you want to do some gfx stuff. Also most people think throwing in a bunch of graphics and animations makes a website better – IT AIN’T! Learn the basics before doing so – web 2.0 is about useability and performance – not about some “cool flash like javascript thingy”, maybe it’s nice to look at for a few seconds, but afterwards most ppl will probably leave the site and never come back again because of lack of use for such a site.

    Well, that’s just my part of some greater opinion πŸ˜‰

  • I’d say never criticize, bitch or complain, and I’ve heard a lot of people get mocked once, and still try to ask people to solve their problems without even trying. After a few dozens of those, of course advanced users and devs in the #irc start to just mock or ignore newbies. I’ve been using Mootools for almost 3 years now (if I’m not wrong with this) and I’ve been a newbie and I can’t do anything but thank the team and those advanced users for making me realize how I sucked by that time and how much I’ve been able to grow thanks to that pushing!

    That attitude people are talking here… I just hear some dudes bitching and complaining selfishly, because I can tell now… when I got something interesting going on with my code, there’re a few people helping and advicing me within 10 min right there.

    btw, there’s a mootools users google group where a lot of questions are being answered every day (and night) so check it out.

    …and yes, I’m with this community because it makes me be my best self, who doesn’t want that?

  • Anonymous

    Frankly not all of us have time, or care to read 1-40,000,000 pages (depending on your framework) of ambiguous (unless you wrote it) documentation. If I want to know how to move a box from one side of the page to the other and there is no explicit documentation on that particular item, I’m going to ask a simple question. And for those that are camping out on the IRC and have actually read the documentation, in the time it would take to insult someone they could give you the answer or at the very least point you to the page in the docs.

  • Well now.. I haven’t tried JQuery, but I before I chose Mootools I looked at all the demos available for both JQuery and Mootools. For all JQuery apparently having better documentation, their demos weren’t particularly exciting. And in general, Mootools cross-browser compatibility seemed better to me when testing the demos.

    I’ve been working with Mootools now for about a year and it was tough to learn. The documentation isn’t bad though.. it’s searchable, concise and clear and has good examples.

    The forum is non-existent.. seems to have been tanked. The IRC channel is tricky to navigate, I did have to dance a pretty dance to get any kind of help at all… but patience paid off and trying something and posting the code seems to be the way to get attention. They don’t have patience for noobs though. I think the attitude is that the channel is intended for people who know what they’re doing, which is fair enough, but with the forums closed there doesn’t seem to be any entry point now for noobs.

    Overall I love Mootools and hate the thought of having to learn another framework.

  • Luca

    I’m an advanced mootools user. Always develop classes, (also distribute milkbox, just google for it πŸ™‚ ) so I’m not a newbe at all, and yes, I agree, mootools developers are definitely unable to have some human relation with newcomers, and to veterans too. I wrote in the forums too about this problem (cause I love mootools and I’d like it to be better..), but had no friendly answers… I’t really a pity…

    Bye!

  • Anonymous

    So much trolling… pointless. Switch to something else if you people are so fed up with mootools. I’m pretty sure we’ll all still be here tomorrow if that happens.

  • Mathew Chapman

    Matt said…
    “namespace clash – what happens if you have two toolkits that both want to define $()? It would be nice for moo to offer the ability to avoid this.”
    jQuery offers a noConflict function that will fix this, once you have loaded your jquery into your page just run “jQuery.noConflict()” this will make the $ revert back to what it was been used for before jquery was loaded. I no that wasn’t your point, just thought I would point out that there is a way round that

  • kwfine

    My previous company stuck to mootools for a few years when I started my position as a system engineer there last year. One day our director decided to change to JQuery since a few senior web programmers claimed that JQuery’s community was more friendly and they also saw that the trend of using JQuery became more prevalent.

    I moved to another IT company as a web developers in Spring in 2010, and the people here (including me) are using JQuery too.

    Kitty

    ε‹•η‰©εŸΊεœ°θ²“θ²“