Мы должны вынести это в открытую. Кажется, существует распространенное мнение о том, что пользователи jQuery являются невежественными, а чаще всего и дизайнерами. Откуда это взялось, и правда ли это?
Корнеплоды
Сообщество JavaScript не было таким ярким и страстным, как сегодня.
Давайте отправимся в путешествие по переулку памяти; мы перемотаем часы на несколько лет — до jQuery дней. Тогда мир JavaScript был совсем другой сценой. Сообщество было не таким ярким и страстным, как сегодня. Конечно, тогда было несколько библиотек, таких как Prototype; но им никогда не удавалось привлечь внимание обычного пользователя так, как это скоро сделает jQuery. В то время JavaScript был широко ненавистным языком. Иногда легко забыть, что были случаи, когда разработчики отказывались отнимать необходимое время, чтобы … ты знаешь … изучать JavaScript! Вместо этого они просто копировали и вставляли свой путь, надеясь не допустить появления этого неприятного пятна JavaScript на своих штанах.
ДОМ
Вы имеете в виду: «Я ненавижу API DOM».
Чего не понимали эти наркоманы копирования и вставки (я был одним из них), так это то, что когда вы говорите «я ненавижу JavaScript», вы действительно имеете в виду (понимаете ли вы это или нет): «Я ненавижу API DOM «. Никто не может быть обвинен в том, что так себя чувствовал. Особенно в те дни, когда действовала даже поддержка IE5, все могло быть немного неприятно. Браузерные реализации DOM были виновником; не язык JavaScript. Это связано с тем, что на самом деле не было никакой спецификации DOM. В результате браузеры как бы обогнали его как могли! У нас innerHTML
не из-за спецификации, а из-за того, что команда Internet Explorer решила просто добавить его туда (после чего другие производители браузеров реверсировали его и внедрили в свои собственные браузеры). Но язык JavaScript, в целом, солидный.
Фактически, многие люди, включая меня, зашли бы так далеко, чтобы сказать, что, как язык, JavaScript действительно довольно красив.
JQuery
Примерно в это же время jQuery вошел в атмосферу и начал штурмовать сообщество разработчиков. В то время как другие библиотеки, такие как Prototype, все еще сохраняли определенный уровень сложности и путаницы для новичков, jQuery было смехотворно легко понять, благодаря тому, что все доступно через объект jQuery
(что, по иронии судьбы, часто критикуют).
Нужно применить класс? Легко; Это сделано специально для дизайнеров. jQuery позволяет использовать CSS-селекторы, которые вы уже знаете, для запроса DOM.
1
|
$(‘#container’).addClass(‘ahh-yeah’);
|
Интересный факт: Технически, хотя jQuery популяризировал идею механизма выбора CSS, он был в значительной степени основан на работе Дина Эдвардса.
И затем, в какой-то момент, график переместился в эту альтернативную реальность …
Это буквально не может быть проще. Абстрагируясь от сложного кода и особенностей браузера, разработчики могут вернуться к тому, что важно: созданию веб-сайтов и приложений.
Хотя сообщество jQuery росло как на дрожжах, сама библиотека также продолжала развиваться и обретать форму. Мир был персиковым.
И затем, в какой-то момент, временная шкала переместилась в эту альтернативную реальность (ладно, не так, как Док Браун), когда внезапно, если бы вы назвали себя гордым пользователем jQuery, некоторые члены сообщества JavaScript, следовательно, почувствовали бы необходимость стереотипировать вас как невежественного «дизайнера» (независимо от того, кем вы были или нет) — конечно, не «разработчик JavaScript». Как это случилось? Разработчики JavaScript не используют jQuery?
Бремя популярности
У каждого есть мнение о центре внимания.
Вполне естественно, что когда вы достигнете определенной — из-за отсутствия лучших слов — популярности, вы откроете для себя невероятное количество проверок. Кажется, у каждого есть мнение о центре внимания. Например, вы, несомненно, слышали бесконечную критику католицизма. «Они поклоняются статуям». Это единственный религиозный орган с сомнительной историей? Конечно, нет; но это самый большой. Соединенные Штаты являются одной из самых мощных стран в мире. Естественно, у каждого есть свое мнение. «Американцы невежественны и жирны». Проигнорируйте хорошее, и выдвиньте на первый план плохое.
jQuery — самая популярная библиотека JavaScript, благодаря оползню. Опять же, у всех есть мнение. Я прочитал бесчисленное количество критических замечаний — от всего, что он не делает , до структуры кодовой базы. Однако, пожалуй, самая большая критика jQuery исходит из простой истины: его пользователи в среднем менее опытны с ванильным JavaScript по сравнению, скажем, с Mootools. Хотя некоторые считают это недостатком, я, честно говоря, считаю это сильной стороной — странным образом.
Тот факт, что jQuery имеет много менее опытных пользователей, не является его недостатком; это свидетельство его привлекательности.
Пользователи jQuery не знают JavaScript!
Это аргумент, который вы услышите больше, чем любой другой. Опять же, как свидетельство jQuery, многие люди изучают jQuery до того, как ванильный JavaScript. Были бесчисленные споры о том, хорошо это или нет. На самом деле такого рода дискуссии распространяются на все абстракции.
- Должны ли дизайнеры использовать CSS препроцессоры и фреймворки, такие как Sass и Compass, соответственно, прежде чем изучать все тонкости CSS?
- Можно ли разработчику Ruby использовать CoffeeScript без предварительного изучения JavaScript?
- Стоит ли использовать Modernizr до того, как научиться писать тест для одной функции?
- Можно ли использовать CodeIgniter, если вы только что изучили PHP?
Лично я чувствую, что те, кто требует, чтобы новички сначала изучили JavaScript, прежде чем переходить на jQuery, упускают одну вещь: JavaScript и DOM страшны! Если вы бросите в них спецификацию ES5, у них случится сердечный приступ, если только они не будут заинтересованы в том, чтобы стать разработчиком JavaScript. Многим людям просто нужно добавить несколько эффектов на свои сайты. Мы не всегда можем все освоить. Они плохие люди для выбора своих приоритетов? Конечно, нет.
JavaScript и DOM страшны!
Сравните это с простой математикой. Когда вы впервые узнали, как добавить 2 + 2
, вы делали это официальным способом? Я уверен, что нет; Я использовал свои пальцы. Бьюсь об заклад, ты тоже. Хотя это огромное упрощение проблемы, разве jQuery не так? Он предоставляет новым пользователям JavaScript простую и захватывающую точку входа. Честно ли вы ожидаете, что они узнают о замыканиях, объектах и глобальных переменных, прежде чем они научатся делать что-то забавное? Давай, давай, сейчас.
Строгая точка зрения « Учись правильно, или ты дурак » наивна и не учитывает различные стили обучения, которые есть у всех нас.
Я рассматриваю jQuery как приманку. Держите его над головой, заставьте его по-настоящему взволноваться, а затем, когда они почувствуют себя готовыми, они почти всегда переходят к изучению ванильного JavaScript.
Пользователи jQuery пишут плохой код
Еще раз, это массивное обобщение. Некоторые из крупнейших и влиятельных компаний в мире используют jQuery. Но да, есть много начинающих, которые все еще находятся в процессе обучения. Ну что ж; Бывает. Плохой код существует на каждом языке. Я сам написал немало, с гордостью могу сказать! Лучшее, что мы можем сделать, это вместо того, чтобы презирать их, предлагать советы и подсказки, когда можем. Мы все учимся. Нужно ли нам нападать на некоторых, потому что у них разные приоритеты и навыки?
С популярностью приходит потенциал для плохих советов.
jQuery удалось создать это невероятно страстное сообщество — от хардкорных разработчиков JavaScript до дизайнеров, которые были поражены тем, насколько легко было выполнить работу. Эта страсть впоследствии привела к бесчисленным урокам jQuery от участников сообщества — как хорошим, так и плохим. Все еще изучая jQuery (то, чем я все еще занимаюсь), я могу гарантировать, что в тот или иной момент я предложил какой-то ужасный совет. Это не слишком отличается от сообщества PHP. С популярностью приходит потенциал для плохих советов.
Сообщество Ruby
Такое бессмысленное обучение почти вредит сообществу.
В сообществе Ruby есть интересная динамика. Учебники, чтобы обобщить вещи, написаны ветеранами. Другими словами, если вы собираетесь написать статью или книгу по Ruby on Rails, вам следует ожидать тщательного изучения. Если у вас нет огромного опыта, не смейте писать об этом. В некотором смысле это сила. Будучи студентом, вы можете легко быть уверены, что то, что вы изучаете, правильно. С другой стороны, учебники по PHP повсюду. Писатели иногда сосредотачиваются на незначительном и игнорируют важное. Вы часто найдете лучшие практические руководства по PHP, которые описывают, быстрее ли использовать одинарные или двойные кавычки. Конечно, такое бессмысленное обучение почти вредит сообществу.
Что Вы предпочитаете?
Это интересная вещь, я должен сказать. Что Вы предпочитаете? Меньшая, страстная или невероятно популярная база, состоящая из всех уровней квалификации? Там, безусловно, плюсы и минусы для каждого.
Это нельзя отрицать, что многие из нас чувствуют потребность быть след блейзеры. Помните, когда родители начали подписываться на Facebook? Критики широко заявляли, что конец Facebook близок. Как только вы жертвуете исключительностью ради широкой привлекательности, люди инстинктивно начинают искать следующую вещь . Но этого не произошло. То же самое верно для jQuery. Конечно, некоторые пользователи перешли на более всеобъемлющие среды, такие как Dojo . Но этого и следовало ожидать, и это должно быть знаком чести для jQuery. Для многих цикл обучения выглядит так:
- Выучить jQuery; возбуждаться.
- Поймите, что вы понятия не имеете, к чему
this
относится в разных ситуациях. Изучайте JavaScript и постепенно улучшайте свой старый код jQuery. - (Необязательно). Продвиньте свои навыки до такой степени, что вам потребуется более всеобъемлющая структура для создания больших приложений. Начните рассмотрение дополнительных инструментов, таких как Dojo .
Это так плохо?
Настоящие сроки
Не то чтобы мы здесь кодировали в двоичном формате, ребята.
Всегда найдутся адвокаты, которые предложат вам не использовать библиотеку — точка. Однако, учитывая текущее состояние JavaScript и DOM, я искренне считаю, что это плохой совет, особенно для новичков. Не следует ожидать, что они будут бороться с расстраивающими несоответствиями браузеров на столь раннем этапе обучения. И, много раз, абстракции это очень хорошая вещь! Не то чтобы мы здесь кодировали в двоичном формате, ребята. Когда вы используете jQuery или любую другую популярную библиотеку, вы получаете выгоду от бесчисленных тестов, исправлений ошибок и лучших умов отрасли.
Теперь, конечно же, вам не нужно использовать чужую среду. Создайте свою собственную библиотеку, если у вас есть возможность; это тоже работает! Цель состоит в том, чтобы:
- Нормализовать причуды браузера
- Напишите меньше кода
- Получите пользу от как можно большего количества умов
- Соблюдайте реальные сроки и выполняйте работу
jQuery — это не «библиотека дизайнеров», но она привлекает дизайнеров. Он не такой классный, как другие библиотеки, но это делает точку входа для новичков гораздо более безболезненной. Итак, в результате мы получаем библиотеку, которая помогла возродить сообщество JavaScript. Это достаточно просто, чтобы обратиться к новичкам, и достаточно мощный, чтобы его могли использовать крупнейшие компании мира. Почему именно его снова критикуют?