Здравствуйте, Mamut, Вы писали:
M>Профайлер показывает: Profile (6.489ms, 98 calls)
M>Гигантское время, 6.489 миллисекунды. Это в 52 раза меньше, чем загрузка собственно страницы (и это при том, что 338ms занимала загрузка уже закешированного файла jquery-latest.js и 11ms — собственно html)
У меня 139 calls (110 — при загрузке) на jquery-1.1.3.1.js. Дело-то совсем не во времени, а в кажущейся простоте, которую приписывают jQuery. Вот цитата из вашей статьи:
Для начала – решение на чистом Javascript:
var tables = document.getElementsByTagName("table");
for ( var t = 0; t < tables.length; t++ ) {
var rows = tables[t].getElementsByTagName("tr");
for ( var i = 1; i < rows.length; i += 2 )
if ( !/(^|s)odd(s|$)/.test( rows[i].className ) )
rows[i].className += " odd";
}
Ну а теперь – jQuery:
$("tr:nth-child(odd)").addClass("odd");
Как видно из этого примера, библиотека jQuery позволяет находить простые и изящные решения для, казалось бы, сложных задач.
Я, конечно, понимаю, что пример натянут, но вы что, серъёзно считаете, что это корректное сравнение??? За этой 1-ой строчкой стоит полновесный скрипт, создание десятков функций, сто с лишним вызовов при загрузке, ещё с десяток, если не больше вызовов непосредственно при исполнении этой конкретной задачи. Я специально акцентирую внимание на "вызовах" и их количестве, чтобы подчеркнуть теневую активную работу скрипта, да и сам по себе вызов функции — не самое простое, что есть в javascript. В общем, по сравнению с приведённым вами примером "чистого" javascript-a, решение от jQuery
намного сложнее, в тени остаётся масса работы (большая часть из которой не имеет вообще никакого отношения к вышеупомянутой задаче)... Я ещё понимаю, когда в плюс библиотекам пишут экономию времени на разработку или минимум кроссбраузерных проблем, но называть это более простым решением — несправедливо по отношению к "чистому" javascript. В результате таких вот "рекламных кампаний в массы о простоте" фреймворки начинают пользовать почём зря, тултипчики показать, раскрасить чего и т.п., то есть там, где 10-20-30 строк понятного кода были бы уже достаточным (идеальным) решением.