jQuery vs Mootools, one year later

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.

Comments

Yeah..

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.

Elitist ?

Hi matt,

Sorry, but how do you feel mootools community is elitist ? I am in the mootools IRC channel, and for sure we help a lot of people who come in there and I get help from others too. I did not feel it was elitist in any way.

Could you be more specific on why you felt mootools community was elitist ?

Regards

This is one of the lamest

This is one of the lamest and stupidest things I have ever heard. I was thinking this would be some sort of technical overview and all the author did was showed his ignorance. You should get a job man.

I’ve spent a good amount

I’ve spent a good amount of time in the #mootools irc channel too, insanekane. I’ve heard on many occasions people in the forums being mocked for asking “stupid” questions, esp about accordions. As a matter of fact, asking about accordions is almost guaranteed to get you mocked. Then there’s also a lot of “jQuery stinks…” type of chatter.

Enrique - sorry that wasn’t technical enough for you. I do have a job, and as a matter of fact my website is listed on the homepage of mootools.net. Here are some technical thoughts:

  • It would be nice if mootools could be split into seperate files such as “core” and “effects” in order to cut down on the file size.
  • Many of the popular toolkits are coming out with UI libraries based on the toolkit. This would be nice to have and if it were present I’d probably not even consider switching
  • jQuery has closed the performance gap with mootools so that there is little difference between the two
  • 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.

But really, it comes down to being on the winning team. I’ve seen too many technically superior projects die. It feels like moo is stagnating, focusing on very technical and abstract features. Meanwhile, jquery and others are working on shiny new stuff that makes the average scripter go “oooh… ahhh…”

Don’t get me wrong,

  • I’m not ditching moo yet, I’m just looking around to see what else is out there. However, I’m starting to feel a little jealous of what some of the other toolkits are offering.
  • Moo hasn’t regressed, everything that made me like it a year ago is still good
  • Moo still feels like the smoothest and fastest library for effects, pretty much indistinguishable from flash for basic animation/tweening

Help with Fx.Elements

Could someone help, I need the Fx.Elements of mootools implemented on my jQuery app, I could make this one from scratch but I dont quite have the time to make it, so I wanna ask if someone have seen a plugin or somethng like it around.

the site btw is
http://demos.mootools.net/Fx.Elements

Thanks in advance.

I'm with you.

MooTools forums does seem very elitist, and extremely unfriendly. It’s almost a barrier to entry, as people get mocked for asking simple questions (and even when the answer is “it’s in the docs” or “we need to see code” they instead mock those asking questions and the topic’s closed - forcing a lot of converts away).

An improvement would be a reassessment, a simple first time notice that “please look in the docs/google it before asking” - a lot of people don’t do it. A lot of people don’t know what they’re searching for, or even quite what the “real” question is. I understand that you don’t want to hold someone’s hand, but just because the main devs are on the site, doesn’t mean that other fans can’t assist the “dumb users” or “noobs” on the site.

I’m trying to branch back into jQuery - while still using mootools for the majority of my implementations, I recognize the need to be proficient in more than one framework when you work with clients who may all ready be utilizing existing frameworks, creating a barrier for those who focus on their “framework of choice.”

Moo vs Queer controversy (to be fair, I shortened both titles)

Yo Matt (and all you others):

You should check out the new iframe and Swiff classes in Mootools. Iframe tunneling and manipulation rocks and the Swiff class makes JS to flash translation a snap!

I looked at jQuery and it appears that Moo has all the same selectors except Moo compounds them into one method while jQuery singles them out like this:

Mootools ‘.inject’ has 4 options myElement.inject(el[, where]); you would put top, bottom, after, before in the ‘where’ place and that same method would do all 4.

with jQuery you have to memorize a bunch of individual methods like this:

$(“p”).insertAfter(“#foo”);

$(“p”).insertBefore(“#foo”);

$(“span”).appendTo(“#foo”);

$(“p”).prepend(“Hello ”)

Why is it more clear to have 40 million little selectors separated and callable through a slew of different method arrangements when you could use simple text strings to indicate all of them in the same format and method. That seems counter intuitive and quite long-handed in my view.

Missing in Mootools

You are right wrt the vibrations in the forums; the Olmo affair was pretty ugly (arrrhg, poor chap; couldn’t he get at least some loyalty from his own team?), and I remember an exemplary forum post where our beloved ‘the moo guy’ explained to a noob in no uncertain terms that he was “not welcome here”, merely because he posted a question in the wrong sub-section.

Cholerics aside, mootools is clean and elegant and very well thought out. I do have some personal issues with it, though, for instance, it seems very DOM element centric (especially with the new DOM storage), thus we had to come up with a different solutuion to the same problem. However, the Moo way is certainly valid.

We have solved the UI library problem by writing our own comprehensive UI on top of Mootools, so we are going to stick with it for some time to come.

The release cycle is too slow. We are waiting for 1.2 since like, forever, and have even implemented a lot of stuff that is promised for the new version on our own, since we want to work with stable versions. It does not help that the blog is updated only every other month or so, and it is hard to get a sense of progress even when monitoring the Trac.

The most serious problem for me is the lack of tools, though. We are using Aptana, and NaturalDocs is not parsed for code completion. Also, Mootools’ class system does not go well with the outline view.
If the moo people could get one of their ranks to write tools, then this would be a major reason to stay on board.

impartial / response

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.

Instinct

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.

dumb questions

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 ;)

A rant AGAINST the best: MooTools

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’m an advanced mootools

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!

Frankly not all of us have

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.

Mootools vibes.

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.

FAIL

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.

Matt said… “namespace

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

Never criticize, condemn or complain

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?

Thoughts for we who say never to criticize, condemn or complain

We are right. You should never criticize, condemn, or complain. Because doing so would be contrarian to human nature (i.e., we have no ideas or concerns that are not the norm). We are just mouthless rats without conscience.

And for those of us who know better, who magically appeared at the top of the knowledge pole without so much as a trek or a struggle, know that we are deserving of our elite position here. We do not consider voicing our opinions, because naturally, we are all the same and have not even the most minute difference therein.

Long live communism. Down with freedom of expression.

Post new comment

The content of this field is kept private and will not be shown publicly.
  • You can use Markdown syntax to format and style the text.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
1 + 15 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.

Back to top