Лучшая стратегия состоит в том, чтобы не использовать несколько библиотек . Заманчиво хотеть добавить больше библиотек к проблеме, но это неэффективно, подвержено ошибкам и усложняет поддержку вашего кода другими.
В большинстве случаев вы должны избегать использования нескольких библиотек, понимая вашу проблемную область и то, какая библиотека поможет вам лучше всего ее решить. Существует также множество плагинов и расширений для всех этих библиотек.
Например, JQuery поддерживает междоменные вызовы JSONP прямо из коробки и имеет красивую библиотеку виджетов в JQueryUI, а Prototype - нет.
$.getJSON('http://anothersite.com/mashup.json?callback=?', function(data) { });
Prototype имеет действительно хорошую поддержку OO, и DOM легко пройти, но ему не хватает междоменной функциональности, необходимой для создания виджетов и гибридных приложений.
var Foo = Class.create({
initialize: function(name) {
this.name = name;
}
});
var Bar = Class.create(Foo, {
initialize: function($super, name) {
$super(name);
}
});
Mootools имеет отличные эффекты, хорошую поддержку OO, действительно надежные виджеты и кросс-доменные запросы, но (и это может быть только моим впечатлением), сообщество разработчиков не настолько совместное и социальное с глобальным сообществом (за исключением mootools) как и другие сообщества (Прототип был таким). Это может быть результатом того, что их основные разработчики живут за пределами США, и, следовательно, не могут посещать столько конференций и участвовать в жизни более широкого сообщества. Я бы не позволил этому полностью вас отпугнуть, но об этом нужно помнить.