The best strategy is not to use multiple libraries . It is tempting to want to throw more libraries into the problem, but it is inefficient, error prone and makes your code more complicated for others.
In most cases, you should avoid using multiple libraries, understanding your problem domain, and which library will help you best solve this problem. There are also many plugins and extensions for all of these libraries.
For example, jQuery supports cross-domain JSONP calls right out of the box and has a beautiful widget library in JQueryUI, Prototype does not.
$.getJSON('http://anothersite.com/mashup.json?callback=?', function(data) { });
The prototype has really good OO support and easily moves around the DOM, but it lacks some of the cross-domain functions needed to create widgets and mashup.
var Foo = Class.create({ initialize: function(name) { this.name = name; } }); var Bar = Class.create(Foo, { initialize: function($super, name) { $super(name); } });
Mootools has great effects, good OO support, really solid widgets and cross-domain query, but (and this may just be my impression), the development community is not as collaborative and social with the world community (outside mootools) as other communities (such so there was a prototype). This may be the result of their main developer (s) living outside the US, and thus cannot attend so many conferences and participate in the wider community. I would not let this completely restrain you, but this is something to keep in mind.
Caged
source share