MochiKit Makes JavaScript Suck Less

MochiKit is a highly documented and well tested, suite of JavaScript libraries that will help you get shit done, fast. We took all the good ideas we could find from our Python, Objective-C, etc. experience and adapted it to the crazy world of JavaScript.


MochiKit has HUNDREDS of tests. We build real applications with this thing. So even though development can move fast, we make sure to get tests written. This also makes platform compatibility issues much easier to detect and resolve than the "guess and check" style of quality assurance seen in some of the other libraries out there. It's not broken.


You're unlikely to find any JavaScript code with better documentation than MochiKit. We make a point to maintain 100% documentation coverage for all of MochiKit at all times. You don't have to fumble around reading our source code or leafing through examples to find out how something works.


MochiKit can adapt to anything you throw at it. It makes no assumptions about how your code needs to act, and it has hooks (by way of the the adapter registries) that makes sure that you can define your own comparisons, programmer representations, iterators, or DOM node coercion for any object in any way you wish. We'll gladly serve you all the Kool-Aid you want, but we're not going to make you drink any.

Plays well with others

Although MochiKit can be, and often is, used as a one stop shop for JavaScript goodness; it is very highly interoperable. MochiKit does no Object.prototype hacking, and inserts just three symbols (the MochiKit namespace, plus the compare and reduce functions to work around JScript bugs) into the global namespace. Unless, of course, you ask it to bring in more symbols for convenience.

As far as server-side goes, MochiKit is totally agnostic. However, feel free to include MochiKit as part of your AJAX arsenal - TurboGears does out of the box!

Free as in…

You won't see any political agenda nonsense here. MochiKit is available to you under the extremely liberal MIT license, or the written-by-a-very-smart-lawyer Academic Free License, v2.1. It's your choice! We don't want to "infect" YOUR software with our ideals, we just want to make every developers' life suck just a little bit less. MochiKit is free as in we don't care what you do with it. With the choice of these two licenses, you can put MochiKit anywhere. We certainly won't refuse if you offer free beer, though.


Our current test platforms include all of the modern and popular browsers: Safari, Firefox, Internet Explorer, Chrome, and Opera. Other JavaScript platforms should work if they're standards compliant (ECMA-262 and the W3C DOM ECMAScript binding, primarily).

Yes, we're aware that a lot of people use other browsers, but the above list matches an astronomically high percentage of the intended audience of our flagship application. Please let us know if you encounter any problems elsewhere, especially if you can contribute a fix.