Jump to content
  • 0

Зачем нужен jQuery, если есть Javascript?


gerard.m
 Share

Question

Начал изучать JS, но кое-чего не могу понять:

1) Библиотеку jQuery придумали специально для веб? а чем не устроил чистый javascript?

2) Чем плох jQuery? просто пару раз видел такую фразу: "написать JS скрипт для странички, не jQuery"

Link to comment
Share on other sites

12 answers to this question

Recommended Posts

  • 0

ох, сейчас холивар одноко может произойти :)

библиотека jQuery ускоряет разработку. имхо она и проще в использовании и поддержке чем чистый ЯС.

согласитесь


$('#id');

короче и стильнее чем


getElementById('id');

минус - подгружаются килобайты билиотеки. чистый яс по идее быстрее работает.

ещё + jQuery - все методы кроссбраузерны, не надо отлавлвать специфику браузеров и строить хаки. куча готовых навороченных расширений и рецептов на все случаи жизни написаны, не надо строить самому велосипеды.

конечно, если вам надо один алерт для одного элемента во всём проекте сделать, тут jQuery отобо не нужно.

опять таки моё имхо обусловлено тем что первый язык был php, и поэтому синтаксис чистого javascript мне не нравиться.

Link to comment
Share on other sites

  • 0

библиотека jQuery ускоряет разработку. имхо она и проще в использовании и поддержке чем чистый ЯС.

Очередное заблуждение. Ускоряет разработку тем, кто понимает, что делает. Она может ускорить первоначальное получение результата, но превращает в непереносимую боль при частых изменениях. Нужно помнить, что это не панацея от всех бед.

короче и стильнее чем

Гламурные фифы лайкают в фейсбуках и вконтактиках синтаксис jQuery.

минус - подгружаются килобайты билиотеки. чистый яс по идее быстрее работает.

Минус - вы нифига не поймете, как это работает. Вот это реально минус. Остальное - от лукавого.

  • Like 3
Link to comment
Share on other sites

  • 0

Фактически надо знать два языка, это хорошо или плохо?

Бессмысленно люди грузят десятки, а то и сотни лишних килобайт.

А кто нибудь задумывался, сколько надо написать кода, чтобы реально оправдалась загрузка библиотеки размером в несколько десятков килобайт?

А когда к основной библиотеке плагины добавляют, вот тут то "вес" резко возрастает.

В общем ради "экономии" сотни другой байт, грузят десятки килобайт. Это хорошо или плохо?

Link to comment
Share on other sites

  • 0

Основной плюс jQuery (и других подобных фреймворков) в кроссбраузетности. Т.е. вам как разработчику не надо писать портянки кода чтобы поддерживать ИЕ. Это сделано за вас.

Еще один плюс в том что мозг включать не надо :) Это как с контрольной по математике - можно решить пример самому, а можно списать у сидящего рядом отличника. Но тут же кроется минус: за простоту решений приходится платить когда возникает нестандартная ситуация, тогда у джиквериста начинается яростное гугление нужного плагина, а когда плагин не находится начинается нытьё на форумах, с просьбой помочь сделать то-то и то-то.

2Быколай:


function $(id){
return document.getElementById(id);
}

alert($('test'));

Я гламурный?

Link to comment
Share on other sites

  • 0
Фактически надо знать два языка, это хорошо или плохо?

Фактически надо знать один язык - javascript.

Зная его освоить jquery не составит большого труда

Основной плюс jQuery (и других подобных фреймворков) в кроссбраузетности.

На самом деле не настолько кроссбраузерный. Недавно был примерчик, когда метод jQuery не работал в Опере и ИЕ, а обычный js сработал. Правда там и верстка досталась жесть... :)

А мозг, да. На простых вещах атрофируется напрочь.

2Быколай:


function $(id){
return document.getElementById(id);
}

alert($('test'));

Я гламурный?

Ага, ты гламурный Лошара :)

  • Like 1
Link to comment
Share on other sites

  • 0

Зачем нужно JQuery:

могу пояснить на своём примере.

javascript требует крепкого вдумчивого изучения. Не менее крепкого и вдумчивого, чем html, css, php и работа с cms.

при этом изучить одновременно всё и сразу невозможно, а необходимость делать готовые сайты с применением всех востребованных технологий нужно уже сейчас.

И вот ситуация: надо сделать простенькую динамику на веб-странице, а знаний js нет. Ну вот просто не начато ещё изучение js. Как быть? Два варианта: заказывать эту динамику у другого разработчика или воспользоваться jQuery, который обладает очень низким порогом вхождения.

То есть, фактически можно выполнять некоторые простые задачи, не обладая знаниями js.

Но конечно же, в хорошей профессиональной работе использование jQuery допустимо лишь при знании чистого javascript.

  • Like 2
Link to comment
Share on other sites

  • 0

Я гламурный?


var $ = function ( id ) {
try {
return ( typeof id == "string" )? document.getElementById( id ) : id;
} catch ( e ) { return null };
}

Я чуть модифицировал. Если передать ноду, то нода же и возвратится, не вызывая проблем.

Link to comment
Share on other sites

  • 0

Собственно пять копеек, jQuery это инструмент, который может облегчить веб разработку а может создать головную боль. Все зависит от степени подготовки и уровня знаний, не только яваскрипта а так же html, css и других сопутствующих технологий. Решение использовать или нет какую либо яваскрипт библиотеку (да на моем любимом jQuery свет клином не сошелся :)) в проекте должно исходить из соображений целесообразности. Приведу грубую аналогию из жизни.

Есть лопата а есть экскаватор.

Зачем экскаватор если есть лопата?

Да он не нужен если нужно выкопать ямку и посадить дерево, а если например вам нужно вырыть двухметровую яму для устранения течи из водопровода. Да лопатой тоже можно, но ведь экскаватор это сделает быстрее, не знаю уж гламурнее или нет

А теперь представим водителя экскаватора, если это дядь Вася с тридцатишестилетним стажем, он уж точно все сделает гламурно (хотя тоже не факт :) ). А если юноша Петя, выпускник одиннадцатого класса с водительским удостоверением категории Б? Лучше, дайте Пете лопату, он молодой пускай опыта набираеться.

Если вы новичок не старайтесь сейчас гнаться за изучением jQuery, начните с основ, дзен он придет, дайте только время.

Есть хороший ресурс http://javascript.ru, если дружите с английским то можно почерпнуть много полезностей на https://developer.mozilla.org/en/JavaScript, в общем главное желание.

Edited by Синдром
Link to comment
Share on other sites

  • 0
В 21.04.2011 в 14:01, s0rr0w сказал:
 

var $ = function ( id ) {
	try {
		return ( typeof id == "string" )? document.getElementById( id ) : id;
	} catch ( e ) { return null };
}

Я чуть модифицировал. Если передать ноду, то нода же и возвратится, не вызывая проблем.

в данной функции стоит использовать не getElementById, а querySelectorAll

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy