Каким образом ответ на каждый вопрос о JavaScript заканчивает тем, что был [закрытым] “jQuery”

15
задан Gert Grenander 27 July 2010 в 22:43
поделиться

13 ответов

Я думаю, что jQuery не может заменить JavaScript по очень очевидной причине. Это потому, что jQuery не решает ни одной проблемы в JavaScript - языке . Он решает только проблемы с несовместимыми реализациями DOM между браузерами, что является его самой сильной стороной и имеет некоторый синтаксический сахар.

jQuery не может заменить DOM API по другой очевидной причине. jQuery - библиотека, управляемая одной организацией и в основном одним человеком . С другой стороны, DOM - это спецификация, реализованная множеством поставщиков, а jQuery - просто оболочка для различных реализаций этой спецификации.

Если jQuery заменит эти DOM API , тогда это должна быть спецификация, потому что разные поставщики браузеров не могут просто взять его код и запихнуть его куда-нибудь, чтобы все работало нормально. Движок браузера может быть на C, C ++, Java или GolfScript, поэтому становится абсолютно необходимым, чтобы он был спецификацией, а не реализацией.

Как только jQuery API станет стандартом де-факто и будет включен в спецификацию, он столкнется с той же проблемой, что и спецификации. Вы не можете быть просто участником, который решает проблему в одночасье и выпускает новую версию, скажем, 1.4.3 спецификации. Спецификация была обсуждена, согласована, изменена, выпущена, и все разработчики должны обновить свою кодовую базу для соответствия, что замедляет весь процесс. Он также теряет возможность исправлять странности кроссбраузерности, потому что не может контролировать это, поскольку работает на более высоком уровне в пищевой цепочке.

Затем, поскольку это спецификация и медленно движется, вы всегда можете придумать свою собственную библиотеку * Query , которая еще больше упрощает API спецификации, устраняет проблемы кроссбраузерности и намного более быстрым темпом.

Вот почему jQuery не может заменить DOM API, потому что, если он это сделает, он довольно быстро застопорится, поскольку каждый день появляются более совершенные, более инновационные и конкурирующие абстракции.

3
ответ дан 1 December 2019 в 00:02
поделиться

Я как бы предвзято отношусь к jQuery. Это мой единственный игнорируемый тег :) ...

На мой взгляд, неуместно, чтобы люди публиковали в других вопросах вопросы «Могу ли я опасаться jQueries?» когда другой человек использует "простой" JavaScript.

Я считаю, что каждый должен изучить "простые" манипуляции с javascript + dom ПЕРЕД входом в jQuery, вроде того, как вы не должны сразу переходить в DirectX, когда изучаете c ++; вы не можете работать с jQuery без ноу-хау JavaScript ...

В конце концов, вы должны использовать то, что вам удобнее.

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

19
ответ дан 1 December 2019 в 00:02
поделиться

На мой взгляд, JavaScript уродлив, подвержен ошибкам и вызывает боль. Мне нравится гибкость, которая позволяет использовать такие подходы, как jQuery, prototype.js и т. Д. Однако появление этих библиотек подтверждает мою точку зрения. Не во всем виноват JavaScript. Отчасти это связано с веб-браузерами.

Чтобы лучше ответить на вопрос:

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

Тем не менее, я согласен. Если кто-то ищет только решение для JavaScript, им следует его получить.Однако они должны понимать, что это может быть трудный процесс, и не у всех есть время / интерес, чтобы пойти на такие большие неприятности.

4
ответ дан 1 December 2019 в 00:02
поделиться

Если вы используете JavaScript только для работы с DOM и AJAX, почему бы не использовать фреймворк для выполнения тяжелой и сложной работы?

JavaScript также выходит за пределы веб-страниц и DOM. Смотрите node.js для некоторых серьезных чудес. Для небольшого ознакомления прочтите этот пост в блоге (хотя он более впечатляющ, если в нем участвует сразу несколько человек).

1
ответ дан 1 December 2019 в 00:02
поделиться

Это то же самое, что спросить, почему предпочтение отдается использованию какой-либо инфраструктуры, такой как MVC .net, CakePHP и т. Д. Скорость, гибкость, повторное использование и т. Д.

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

1
ответ дан 1 December 2019 в 00:02
поделиться

Для меня jQuery - это что-то вроде Cocoa для Mac. Я читал, что фреймворк Cocoa состоит из множества "низкоуровневых" команд Unix, которые являются основой Mac OS. Поэтому, когда вы делаете что-то такое простое, как выделение памяти, выполняются эти давно забытые простые команды.

Я не удивлюсь, если переход от Unix к Cocoa произойдет с Javascript в jQuery - в конце концов, будет проще вызвать команду jQuery, которая внутри выполняет 10 основных действий Javascript (особенно если команда широко используется). Лично я против этого, потому что это ограничивает свободу разработчика. Хотя другие могут утверждать, что это позволяет больше творчества, потому что легче/быстрее создавать новые/лучшие вещи, люди будут полагаться на это, и в конечном итоге станут зависимыми и забудут о базовом ядре Javascript.

Что если конкретная "удобная, готовая к использованию" функция для того, что вам нужно. не существовало в веселом "простом" мире jQuery? Если бы разработчики полагались на jQuery, они были бы в полной растерянности. На мой взгляд, мы, разработчики, должны продолжать быть независимыми и создавать свой собственный код, хотя использование немногого готового материала тоже не повредит.

1
ответ дан 1 December 2019 в 00:02
поделиться

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

http://davidwalsh.name/6-reasons-to-use-javascript-libraries-frameworks

2
ответ дан 1 December 2019 в 00:02
поделиться

Заменяет ли jQuery JavaScript в целом?

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

Допустим, вы всегда делали свою бумагу (рубили древесину, измельчали ​​ее, сушили, украшали и т. Д.), Прежде чем делать свои особенные вырезки из бумаги. Однажды, когда вы делаете вырезы из своей самодельной бумаги, кто-то указывает вам на чудеса готовой бумаги (о, счастливый день) и говорит: «Не нужно делать свою собственную ... приступайте сразу к веселью. вырезки из бумаги ". Вы никогда не использовали готовую бумагу ... для вас бумага - это результат долгой работы с деревом. Итак ... теперь, когда вы открыли для себя Acme Paper, не могли бы вы спросить, заменила ли Acme Paper древесину ? Конечно нет ... он сделан из дерева. Вместо этого вы внезапно подумали бы о Acme Paper как о способе сэкономить время, как о способе получить конечный результат - вырезать вырезы без всех этих хлопот по работе с деревом, связанных с изготовлением самой бумаги.

Точно так же jQuery («фирменный» документ) не заменяет Javascript (дерево), из которого он был сделан, он просто избавляет вас от необходимости создавать свои собственные служебные функции (документ), прежде чем вы перейдете к удовольствие от создания собственного кода (маленькие вырезки из бумаги).

Я еще не запутала проблему?

Ура!

2
ответ дан 1 December 2019 в 00:02
поделиться

Я заметил то же самое в последнее время. Этот jQuery - но возьмем любой другой фреймворк - разрушает аналитическое мышление. Разработчики смотрят на скрипты браузера как на Duplo Lego, хотя на самом деле это Technics.

Несмотря на то, что jQuery является отличным инструментом для управления пользовательским интерфейсом, он не охватывает всех аспектов программирования JS высокого уровня. Что насчет данных, например? jQuery довольно плох в этой области, но все же, когда возникает проблема, связанная с сортировкой или фильтрацией, мы сразу же приступаем к поиску подключаемого модуля jQuery.

jQuery не может заменить JS в целом.

1
ответ дан 1 December 2019 в 00:02
поделиться

Нет, jQuery не заменяет JavaScript, потому что это JavaScript. Но это очень помогает, особенно при выборе элементов и применении функций к элементам.

Вероятно, самый важный аргумент в пользу использования jQuery: Вам не нужно думать о кросс-браузерной совместимости.
Серьезно, разные реализации JavaScript в браузерах сводят меня с ума .

Но я также не думаю, что jQuery следует использовать для всего. Это зависит от , где (например, в каких браузерах) используется JavaScript, и от того, что вы на самом деле делаете.

И как я уже отвечал на другой вопрос, вы можете освоить jQuery только в том случае, если понимаете JavaScript. Очень легко написать плохой код jQuery, если вы не понимаете, как он работает.

Обновление:

Фактически в современных браузерах вы уже можете делать то, для чего вы обычно использовали jQuery, например, используя селекторы или each () , изначально в JavaScript, с document.querySelectorAll () и метод массива forEach () .
Но вот в чем проблема: в современных браузерах. jQuery гарантирует, что вы можете использовать тот же API и не беспокоиться о версии браузера.

22
ответ дан 1 December 2019 в 00:02
поделиться

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

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

Только мое мнение.

3
ответ дан 1 December 2019 в 00:02
поделиться

jQuery стал стандартом де-факто, так же, как C или Java для мира программирования настольных компьютеров - это все знают или должны, поскольку они обеспечивают общий язык. Обычно все начинают с jQuery, а затем узнают о Javascript на собственном опыте и могут поискать где-нибудь еще.

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

Некоторые другие действительно популярные - это MooTools и SproutCore, оба из которых имеют ОГРОМНУЮ поддержку. jQuery - это что-то вроде обучающих колес для javascript, MooTools полностью ориентирован на объектно-ориентированный подход, а SproutCore предназначен для настольных приложений в облаке. Как и любой язык программирования или фреймворк, вы изучаете самый простой из них, чтобы начать работу, а затем, когда вы станете лучше, вы поймете, что разные языки и фреймворки лучше для разных вещей - или, по крайней мере, вы должны это понять ;-) хе-хе.

0
ответ дан 1 December 2019 в 00:02
поделиться

Следующее много говорит об API или фреймворке. В целом, большее количество пользователей будет стремиться создавать более качественную документацию. Документация может иметь большое значение в процессе принятия.

jQuery имеет свои ограничения, по крайней мере, на момент написания этого ответа. Например, сегодня я хотел протестировать функциональность с помощью xhr, который большую часть времени остается в состоянии readystate 3. Я решил, что мне лучше написать собственный плагин jQuery вместо того, чтобы использовать обычно используемый $ .ajax. Это было бы не так уж и плохо. Однако я пришел к выводу, что jQuery протестирован во многих версиях разных браузеров. Я могу поразить целевую аудиторию юзабилити, просто используя один фреймворк.

В конце концов, я мог бы поэкспериментировать с $ .ajax beforeSend, чтобы посмотреть, есть ли способ прикрепить обработчик для readystate 3, но документация, которую я читал, заставила меня поверить, что это было бы больше работы для задача, которую мне нужно было выполнить.

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

1
ответ дан 1 December 2019 в 00:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: