2009-04-04 3 views
8

Я недавно много думал о том, где рисовать линию, и я хотел получить ответы от опытных разработчиков. Когда допустимо ссылаться на jQuery в веб-приложении?Когда приемлемо использовать jQuery?

Некоторые опорные аргументы для Всегда Использование JQuery:

  • Вы можете ссылаться на JQuery из репозитория Google, где он может быть уже кэшированных на клиенте, исключая дополнительные здоровенный запрос
  • Вы не должны иметь дело с общими проблемами между браузерами, поскольку они уже позаботились о
  • Вам понравилось писать код, потому что он не предназначен для разработки

Некоторых поддерживающие аргументов для Никогда Использования JQuery:

  • неулаженной зависимости библиотеки третьей стороны, которая может содержать дорогостоящие ошибки, и может привести к неоправданно низкой производительности
  • Вы должны выучить новый синтаксис (только тогда, когда вы думали, что регулярный Javascript разобрался ...)
  • Даже самые простые задачи могут выполнять плохо, из-за присущей сложность структуры

Я перечислил аргументы как часть вопроса, потому что я не хочу иметь ответы, взвешивающие аргументы обеих сторон. Я надеюсь всегда/никогда не отвечать, предпочтительно с сценариями сценария (неопределенный или подробный).

Например: «Если мне когда-либо понадобится выполнить любые запросы AJAX в моем веб-приложении, я всегда использую jQuery».

+0

Это, по крайней мере, еще 10 вопросов. – Learning

+1

Я искал его. Не удалось найти ничего. Ссылка, пожалуйста. –

+0

«устраняя лишний вес [19K] запрос»? – GalacticCowboy

ответ

27

Если мне когда-либо понадобится сделать что-либо в документе document.getElementById() в моем веб-приложении, я всегда использую jQuery.

Я честно найти большинство ваших аргументов против мошенниками JQuery довольно слабым, особенно последний:

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

Не согласен с этим. jQuery невероятно прост, но мощный, и это то, что мне нравится.

+0

Это хороший ответ, спасибо :) –

+1

Во-первых, я тоже люблю jQuery. Но если ваш сайт имеет много функциональности Javascript, 19K определенно переборщит. У jQuery есть проблемы с производительностью: http://tiny.cc/DavidMarkJquery –

+1

LOL - Я хотел сказать «если ваш сайт НЕ» –

2

Это приемлемо, если вам нужна дополнительная гибкость, которая просто отсутствует в DOM. По умолчанию я не включаю JQUERY; однако, как только мне нужно снять любую сторону клиента, я перехожу к JQUERY.

Я буду использовать JQUERY и MSAjax одновременно (в основном на старых страницах, которые я удаляю от MSAjax).

1

Я бы сказал, что допустимо использовать jQuery всякий раз, когда вы не хотите тратить время на различные реализации Javascript. Который, вероятно, довольно близок к всегда.

Если вы делаете это довольно маленькая и тривиальная вещь, представляющая jQuery (19KB minified), поскольку зависимость может быть немного переполнена.

Не изобретайте велосипед, если вам это не нужно!

3

Не имеет значения - вы можете написать хороший код или гнилой код с или без jquery.

1

Есть не так много вещей, которые я нахожу javascript полезным для этого jQuery не упрощает.

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

Для манипуляции с DOM jQuery предоставляет сжатый способ выразить то, что мне может понадобиться. Конечно, короче и, вероятно, яснее, чем от 3 до 10 вызовов функций, которые мне в противном случае нужны.

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

Есть много других библиотек JavaScript, и я уверен, что многие из них великолепны, но если они не обеспечивают абсолютно незаменимую функцию (например, API Google), я могу, вероятно, получить jQuery, чтобы сделать это хорошо, и Я уже знаком с jQuery.

22

неулаженной зависимость библиотеки третьей сторона , которая может содержать дорогостоящие ошибок, и может привести к неоправданно низкой производительности

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

Непринятый-здесь синдром - это пустая трата времени.

+0

Серьезно. У вас уже есть «неурегулированные зависимости» сетевой инфраструктуры, браузера, операционной системы и т. Д. IE6 может выдержать производительность вашего приложения, и у вас не будет выбора, кроме как жить с ним или попытаться обойти его. С jquery у вас также есть возможность исправления. – bstpierre

1

Я никогда не использую jQuery ... почему? Никогда не думал об этом, я думаю, я просто не нашел причины использовать что-либо за пределами Javascript. Плюс, я не люблю полагаться на слои абстракции, которые я не понимаю. (Конечно, вещи, которые я делаю с Javascript, не особенно сложны, поэтому в моем случае, возможно, jQuery действительно будет больше проблем, чем это стоит.)

1

Сегодня я добавил патч Javascript на страницу, где мне пришлось перемещаться div из своего первоначального места в дереве DOM и сделать его ребенком тела, чтобы он мог правильно позиционировать. Я знал, что это произойдет только один раз, при запуске, к определенному id'd div и что страница не будет использовать какое-либо другое поведение JS. Поэтому я написал это вручную.

Для чего-то более сложного, это jQuery. API высокого уровня просто экономит мне столько времени, что в противном случае мне пришлось бы «разговаривать» с компьютером.

0

Ну, по крайней мере, до EcmaScript 5 выйдет, и пока браузеры не будут реализовывать в своих JavaScript-машинах общий набор спецификаций, jQuery - лучший инструмент, который нам нужно решать с помощью перекрестного браузера. Не так давно каждый раз, когда вы запустили js-файл, вам нужно было начать с функции browser detect. Я использовал прототип, mootools, dojo и в последнее время jQuery, и я очень доволен той помощью, которую они предоставляют.

0

Использование jQuery только для совместимости браузера не является достаточной причиной для использования jQuery. Большинство фреймворков javascript в наши дни уже могут это решить.Что касается меня, я бы использовал jQuery, если мне понадобится очень простой инструмент манипуляции DOM с поддержкой Ajax. Если мне когда-нибудь понадобится что-то сверх этого, я бы использовал другую инфраструктуру javascript. Я бы использовал Mootools, если мне нужна поддержка Javascript Object Oriented, и я бы использовал Ext-JS, если мне когда-либо понадобились обширные встроенные виджеты.

Смежные вопросы