>
> I'd also like to add this link. I've been furiously trying to
> evaluate the difference between mootools and Jquery, why is Jquery so
> popular but I really see Mootools more for me?
>
God, I don't want to re-open a can of worms, but the basic difference
between jQuery and MooTools (as Aaron touches on in his response) is the
extension of natives vs. a completely encapsulated object. (Although, it
seems like for MooTools 2.0, that this will be an option; which I think is
pretty rad.)
So, in MooTools , you have this:
"Hi".doStringMethod();
In jQuery:
$.doStringMethod("Hi");
In short, there are people who believe that the native types should never be
extended, and that any functionality you would extend a native prototype
with should be a part of an object which you pass the string to instead.
Another example is the CommonJS model:
var object = require("object")
object.doStringMethod("Hi")
There's some weight to the argument, but if you are electing to use a
framework (in the true sense of 'using a framework and not a library'), I
feel this argument becomes something of a wash; as Aaron said, (although not
in so many words) making code beautiful, easy to read, and less dense is
precisely what a framework is for.
You could make an easy argument for extending a native type across all of
your modules (we are now talking in the CommonJS system); it should cut down
on the amount of code you will have to write and provide a level of
consistency. That is very desirable. Sure, you sacrifice a little namespace
in the process, but that's not by necessity a horrible thing.
Regarding the other half of jQuery vs. MooTools, I would chalk it up to the
"movement effect". People get caught up in movements in programming
communities. Right now we are seeing a "NoSQL + Procedural Programming +
Complete Encapsulation" movement. There's nothing wrong with any of these
technologies or concepts, but people dogmatically adhere to them for many
reasons; the one I think is most prevalent is that many programmers who lack
confidence are simply terrified of being wrong, and so stick to the general
consensus as a 'safety net' (although, the same statement could be made
about many aspects of life, not just programming).
There's also a lot of money to be made by being the demagogue of said
"movements".
/ducks
Finally, I think Prototype has left a bad taste in some people's mouth.
Prototype itself isn't horrible; it is certainly not the best framework, but
it is better than straight javascript imho, and they look at MooTools, "see"
Prototype without much inspection, and go "bleh".
I wish I could pick MT on more of my projects, but generally speaking the
client is the person who gets to mandate that stuff for me nowadays (mostly
based on what their devs know; and they all know jQuery)