There is an excellent and very complete article on the differences between MooTools and jQuery, translated by Fabio , currently one of the hard core elements of Facebook developers.
jQuery is basically a library for the DOM. MooTools has numerous tools for programming, calculations and data transformation and is used by many on the server. It has for example Classes with mixins and inheritance (since 2006!), Improvements on essential methods such as typeOf
, Object and Array methods, etc.
A great advantage is that it is modular. While jQuery is a single file, MooTools is modular and allows to be used in modules , thus reducing the size of the file it is loaded on all pages.
Another advantage to me, but that can be a problem for those who do not understand, is that MooTools extends Prototype and blends as native JavaScript. In jQuery everything circulates around the function $()
and what is passed to it. This function returns an object with jQuery methods. In MooTools many of the methods are integrated into the native language.
The reason why many people stop using MooTools is because JavaScript itself has evolved. MooTools created methods that completed important language failures, improved and corrected some native methods and later with ES5 and ES6 these methods, with the same names being implemented natively. So in some cases the code was already there because MooTools extends the native language. In the case of jQuery, now that ES5 has .forEach
, .map
and .filter
these methods are unnecessary but to change jQuery code to native methods gives too much work.