23.02.2011, 05:25
|
|
Новичок
|
|
Регистрация: 05.09.2010
Сообщений: 2,298
|
|
"За" и "против" библиотек работы с DOM и пр.
Почти досконально изучив jQuery, задался вопросом, стоит ли разбираться в "безбиблиотечной" работы в, первую очередь, с DOM? Конечно, олд-скульный программист в меня кинет помидор, но хотелось бы взвесить все "за" и "против", так как не знаю уже в чем разбираться (взялся за node.js, но так как он не востребован, пока что он входит в ряд "развлечений"). Итак, отличия (привожу только плюсы).
Нативный Яваскрипт
+ Такой программист крут в глазах соответствующих сообществ
+ Может сделать свою библиотеку с блекджеком и хукерами (смысл?)
jQuery
+ jQuery может изучить даже идиот
+ Разработка на jQuery достаточно проста и требует в разы меньше времени (что является плюсом для заказчиков и исполнителей, так как деньги всё те же, а платят за результат)
+ Прост в дебаге из-за меньшего количества кода
+ Не нужно париться о кроссбраузерности
+ Больше заказов (примерно в Inf раз, сужу по буржуйскому фрилансу)
|
|
23.02.2011, 05:53
|
|
Рассеянный профессор
|
|
Регистрация: 06.04.2009
Сообщений: 2,379
|
|
Сообщение от FINoM
|
в, первую очередь, с DOM
|
пару часов. Можно в том же jq покопаться. Вы на раздумья больше потратили.
|
|
23.02.2011, 09:04
|
|
Профессор
|
|
Регистрация: 10.09.2009
Сообщений: 1,576
|
|
Что то плюсов нативного js вы мало увидели. Причем какие то загадочные.
Я например вообще не разделяю особенно понятия jquery и js. JS - это все, а jquery - просто некая помощь, обертка по программированию DHTML
Если, в качестве дальнейшего саморазвития, хотите вглубь копнуть, можете посмотреть как данный фреймворк сделан. Будет проще чем с jq. Можете extJS начать изучать, но он больше не для сайтов, а для web-приложений. Бывает востребован.
|
|
23.02.2011, 09:47
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
Сообщение от FINoM
|
jQuery
+ jQuery может изучить даже идиот
+ Разработка на jQuery достаточно проста и требует в разы меньше времени (что является плюсом для заказчиков и исполнителей, так как деньги всё те же, а платят за результат)
+ Прост в дебаге из-за меньшего количества кода
+ Не нужно париться о кроссбраузерности
+ Больше заказов (примерно в Inf раз, сужу по буржуйскому фрилансу)
|
Если вдруг в jQuery баг, сидим ждём новой версии.
Если какой-то метод jQuery работает чуть чуть не так, как надо, пишем ещё тонну кода, чтобы и jQuery использовать, и так, как нам надо.
А вообще странная тема, изучайте, что хотите, кому какое дело.
|
|
24.02.2011, 09:03
|
|
Модератор Всея Форума
|
|
Регистрация: 14.05.2009
Сообщений: 4,021
|
|
Сообщение от FINoM
|
Нативный Яваскрипт
|
+ скорость
__________________
Болтовня ничего не стоит. Покажите мне код. — Linus Torvalds
влад.куркин.рф
|
|
23.03.2011, 16:05
|
|
Новичок
|
|
Регистрация: 05.09.2010
Сообщений: 2,298
|
|
Сообщение от micscr
|
можете посмотреть как данный фреймворк сделан
|
Спасибо. Но там каментов нету, многое не понятно.
Я вот давно не могу понять, зачем в функцию передавать undefined в качестве аргумента. и в jQuery и в этой библиотеке есть такой момент.
|
|
23.03.2011, 16:16
|
Профессор
|
|
Регистрация: 07.01.2011
Сообщений: 582
|
|
FINoM
Чтобы при запросе undefined интерпретатор не искал его во всех областях видимости, пока не дойдёт до window. Что-то в этом роде. Байтодрочерство, одним словом.
|
|
23.03.2011, 16:16
|
|
Новичок
|
|
Регистрация: 05.09.2010
Сообщений: 2,298
|
|
Не хочется плодить тем с нубскими вопросами, объясните следующую вещь, пожалуйста:
Вот в jQuery можно написать $(nodes).method();
Как без оператора new и дополнения прототипов это сделать?
|
|
23.03.2011, 16:18
|
Профессор
|
|
Регистрация: 07.01.2011
Сообщений: 582
|
|
FINoM
Только по-дурацки. В функции $ цеплять на объект-результат функции все нужные методы.
function $(a) {
var r = {};
for (var i = 0; i < a.length бла-бла-бла
... r[a[i]] = tratata(a, i);
r.method = function () {...};
return r;
}
$([]).method();
|
|
23.03.2011, 16:26
|
|
Новичок
|
|
Регистрация: 05.09.2010
Сообщений: 2,298
|
|
Matre, а как в таком случае писать плагины?
В jQuery например они создаются так: $.prototype.newMethod = ...
Я не могу понять, прототип чего именно.
|
|
|
|