MooTools More is a plugins library, it's supposed to use only the
external APIs provided by MooTools Core, not any of the internal APIs.
An important reason to use the MooTools APIs, rather than the native
ones is that consistency is (generally) more important than a little
performance gain. Note that, whenever possible, MooTools' own methods
will call (and not overwrite) native methods (take your Array.each
example, which will call the native Array.forEach where available),
and in other cases provide normalisations (take setStyle, and think
opacity, for example).

I realise there may be some extreme cases in More that should be
optimised (or rather: updated), but in general the above still holds.
On top of that, the main reason for the plugins is obviously to have
the useful set of plugins, but another reason is to show how to make
use of MooTools. Not using Core (or minimally using Core) for More
would defeat the purpose of it being a MooTools plugin library, and
minimise the learning-MooTools experience when looking through the
source.

For your own plugins, obviously, you're free to use any MooTools APIs
(or none) you prefer. You know best what compatibility you need and
when certain optimisations weigh more than the ability to stick to one
API.

Reply via email to