После заметки об одновременном использовании jQuery и Mootools мне поступила сотня писем с вопросами о том, а что лучше, гор мусора в интернете видимо недостаточно, нету выжимки, поэтому я решил не медлить и рассказать моим читателям о том какой фреймворк лучше.
jQuery – это штуковина больше пригодная для сокращения кода, на самом деле можно упростить себе жизнь используя jQuery, однако MooTools более направлен в сторону классовости. Все его сокращения похожи, однако они имеют некую общность и целостность, нежели это реализовано в jQuery. Поэтому пиксельным фанатам будет ближе Mootools, а быстрокодерам ближе jQuery.
У jQuery всего больше. Комьюнити, литературы, плагинов и туторов и фанатов. Это надо признать, все потому что с jQuery легко, легче чем с Prototype и Mootools и другими. Я не хочу вас сразу отбросить от Moo, у последних своя специфика. Это любимый ребенок, избалованный, у которого все прилизано.
MooTools расширяет JavaScript, jQuery – дополняет. Как это вам объяснить-то по русски.. Это как например Moo добавляет методы к стандартным объектам, а jQuery все вретит вокруг собственных объектов не трогая внешние.
Чтобы понять разницу наглядно привожу пример одинакового кода Hello World на jQuery
$(document).ready(function() { $("a").click(function(event) { alert("Thanks for visiting!"); }); });
код на Mootools Hello World
window.addEvent('domready', function() { $$('a').addEvent('click', function(event) { alert('Thanks for visiting!'); }); });
Еще один пример, который вас может посадить на кол, jQuery:
$(document).ready(function() { $("#orderedlist li:last").hover(function() { $(this).addClass("green"); }, function() { $(this).removeClass("green"); }); });
Mootools:
window.addEvent('domready',function() { $$('#orderedlist li:last-child').addEvents({ mouseenter: function() { this.addClass('green'); }, mouseleave: function() { this.removeClass('green'); } }); });
Отсюда надо понять что MooTools чутку низкоуровнее, но это дает приемущество, например все методы jQuery очень легко реализуются на Moo, и тем более можно сделать свои методы еще легче и прощще, именно так как надо вам. На jQuery лепить методы как на MooTools смысла нет.
В качестве итога напишу, что попробовать надо оба. А вы что думаете ?