Я изучил jQuery, должен ли я вернуться и узнать "правильный javascript"?
Я в первую очередь разработчик на стороне сервера, профессионально работаю с PHP. Для javascript я всегда использую фреймворк (jQuery/mootools), будет ли это профессиональным недостатком для меня по линии? Должен ли я вставить время на изучение прямого javascript или большинство разработчиков перейдут в рамки в любом случае?
Спасибо.
Ответы
Ответ 1
Нет
Переход к фреймворкам обусловлен многолетними разочарованиями над зависимостями браузера и явной неприязнью к многим оригинальным решениям, принятым в дизайне Javascript. Обратите внимание, что вы все еще работаете в Javascript, хотя на самом деле не справедливо говорить "изучать Javascript" так же, как "исследовать области Javascript, которые теперь обрабатываются JQuery".
Что касается вашей привлекательности для потенциального работодателя, я вполне уверен, что JQuery будет лучшим навыком перечислить резюме, чем Javascript (я знаю, что это будет в нашем магазине). Если вы подумаете об этом, работодатели, которые заботятся о достаточном развитии на стороне клиента, ожидают, что потенциальные сотрудники будут иметь опыт работы с такими инструментами, как JQuery. Те, кто не заботится о развитии на стороне клиента, просто не будут делать клиентские навыки, в том числе Javascript, приоритетом. Действительно, если вы собираетесь потратить свое время на изучение клиентской стороны, я бы рекомендовал изучить другую клиентскую структуру (например, YUI или Ext). Это не только сделает вас более ценным, но почти наверняка потребует определенной степени воздействия на идиомы Javascript из-за различий в рамках.
Обновление. Рохан очень хорошо разбирается в Javascript: он может помочь вам более эффективно и эффективно кодировать JQuery. Я согласен с рефератом, но лично я бы немного не решался приложить слишком много усилий в этой области. Будучи разработчиком долгого времени, я научился очень сосредоточенно на выигрыше от инвестиций времени и усилий. В мире есть чему поучиться, и только столько времени, чтобы узнать это. Например, время, потраченное на обучение написанию библиотек ISAPI, заплатило очень мало по сравнению с инвестициями.
Обновление 2 - Несколько человек делают аргумент о том, что JQuery медленнее, чем исходный Javascript. Что-нибудь новое? Тот же самый аргумент о "сырой" разработке и каркасах продолжается уже несколько десятилетий!
В этом случае это особенно озадачивает. По моему опыту, люди, которые внедряют клиентскую инфраструктуру, фактически завершают работу на стороне клиента. Те, которые не склонны зацикливаться на серверных решениях из-за присущей сложности обработки DOM-несовместимости в браузерах, особенностей JavaScript и т.д. Таким образом, рекомендуя Javascript "для скорости" пропускает всю динамику, где чистый сайт Javascript очень вероятно, будет медленнее, потому что разработчики в конечном итоге отказываются от кода на стороне сервера, чтобы оставаться продуктивным.
Ответ 2
Это зависит. Если вы спрашиваете о DOM-манипуляции, у нее много причуд и несоответствий в браузерах. Хотя это может быть полезно знать, большую часть времени вы защищаетесь от необходимости беспокоиться о них в своей структуре. Изучение всего по себе полезно, но сложно.
Что касается всего, кроме прямого JS, такого как закрытие, частные функции, синтаксис объектов, прототипы и т.д., вы должны определенно изучить их, поскольку они применимы в рамках как без этого. В корне вы все еще кодируете в JS, только с помощью рамки для некоторых общих задач.
Ответ 3
Да.
Чаще всего jQuery работает медленнее при выполнении задач. Если вы знаете, как это сделать в простой JS, вы можете вернуться и оптимизировать более медленные части своей страницы.
Ответ 4
на самом деле, да. После нескольких лет работы jQuery хорошо изучить JS, чтобы вы знали, что происходит за слоем абстракции, созданным jQuery. Это поможет вам лучше работать с jQuery или любыми другими структурами, к которым вы можете перейти, и также поможет вам изменить эти структуры, если такая необходимость когда-либо возникнет.
Ответ 5
Не там, где он перекрывается
Вам уже нужно знать некоторый "чистый" javascript для таких вещей, как манипуляции с строками и массивами, не так ли? Говядина на этом материале может быть хорошей.
И могут быть конкретные случаи - например, создание букмарклетов - где полезно знать, как найти элемент DOM с прямым JS.
Но для большинства производственных кодов хорошая JS-инфраструктура настолько лучше, что я думаю, что использование чистого JS глупо.
Узнайте, что вы действительно можете использовать, но если это чисто академическое, я бы сказал, что потратьте это время на изучение другого, действительно актуального, умения.
Ответ 6
Это не относится к Javascript, но изучение концепций более низкого уровня часто помогает при написании кода более высокого уровня. Это о том, как научиться, как и хау.
Итак, если у вас есть время и мотивация, я бы рекомендовал его.
Ответ 7
Я думаю, что не зная, что это определенно может быть профессиональным недостатком по линии. Например, у меня была работа, в которой мы использовали исключительно jQuery, и когда я недавно перешел на новое задание, они используют исключительно YUI. Если бы я не знал "сырой" JavaScript, мне было бы намного сложнее собрать новую структуру.
Ответ 8
Если вы не хотите сделать JS основной компетенцией, я думаю, что вы хороши.
Ответ 9
Я в значительной степени участвую в лагере "не утруждай себя". На самом деле я считаю это своего рода преждевременной оптимизацией для погружения на базовом языке, если это не необходимо. Хотя вам действительно может понадобиться выжать каждую миллисекунду из script, если она будет использоваться, я бы сказал, не беспокойтесь.
Даже тогда jQuery позволяет вам покачиваться в комнате с оптимизацией селектора и тому подобным.
Конечно, это может быть разговор о боли, причиненной "правильным" javascript за все эти годы до этих замечательных фреймворков:)
Ответ 10
Если вы не планируете быть гуру JavaScript, я бы сказал "нет", есть лучшие вещи, на которые ваше время можно потратить на обучение.
Ответ 11
Для javascript я всегда использую фреймворк (jQuery/mootools), будет ли это профессиональным Недостаток для меня по линии?
Наверное, не недостаток. Вы просто стоите на плечах других библиотек, чтобы выполнить свою работу. Единственный возможный недостаток - сохранить ваши навыки обучения, когда появятся новые версии, зная, что версия X, которую вы изучили, вполне может быть устаревшей.
Должен ли я вкладывать время в обучение? прямой javascript, или разработчики переходят на рамки в любом случае?
Я бы сказал, что каждый разработчик JS использует какую-то библиотеку или другую, но они все равно должны знать язык, который они используют. Библиотека/фреймворк - это просто библиотека, построенная на языке. Вам все еще нужно знать все аспекты языка. Например, знаете ли вы, какая разница между == и ===?
Кроме того, если есть проблема с библиотекой, которую вы используете, и вам нужно в нее вникнуть, не знает ли язык помощи?
Если у вас есть время, я бы очень рекомендовал что-то подобное, видео от Douglas Crockford на Javascript.
Ответ 12
Хорошо, что хорошо программировать в JavaScript, потому что знание jQuery не защитит вас от написания небезопасного и неэффективного кода. Это просто даст вам некоторые инструменты для ускорения вашего кодирования.
Ответ 13
IMO, вы уже ответили на этот вопрос, сказав: "Я разработчик на стороне сервера". Вы также хотите сделать код переднего плана? Если это так, изучение JavaScript (и рамки) заставит вас выделиться. Лично я считаю, что это делает вас более сильным разработчиком, если у вас есть базовое понимание противоположной области, над которой вы работаете, - вы можете делать лучшие предположения и кодовые вызовы при работе над групповым проектом, когда вы понимаете, что работают фронт-парни с (или, возможно, предложить решение для их запуска).
Как все говорят - это зависит от ваших долгосрочных целей и от какого разработчика вы хотите видеть.
Ответ 14
Я думаю, что, безусловно, стоит потратить время на изучение основного языка. Если вы только знаете фреймворк, то вы заперты в каркасном способе делать что-то.
В то время как фреймворки предлагают гораздо более мощный и понятный код во многих случаях, иногда это слишком много, и на основном языке существует гораздо более простое решение проблемы.
Ответ 15
Это не имеет значения, если вы помните Закон утечек абстракций.
Ответ 16
Да!
Использование уровня библиотеки или абстракции означает, что вы будете "абстрагированы" от базовой логики языка, даже если вам нужно выполнить любую простую задачу.
Библиотеки созданы для ускорения программирования и разработки задач, а не для того, чтобы всегда зависеть от них.
Ответ 17
Вы должны знать, что он абстрагирует от вас, но вам не нужно изучать все это. jQuery для "чистого" javaScript похожа на ASP.net на "чистый" HTTP. Вы должны знать основные понятия (особенно, поскольку это помогает отлаживать и решать некоторые из очень волосатых ошибок и проблем), но вам не нужно становиться гуру в нем.
Ответ 18
Если вы просто веб-дизайнер, использующий jQuery для замечательного графического whizzle, заданного графиком, которого невозможно достичь в CSS, остаются с jQuery. Вы используете его как дополнение к CSS, и для этого есть много чудесных пакетов.
Если вы хотите написать некоторые из этих пакетов или переработать их. Знание хорошего синтаксиса и хорошего кодирования должно быть обязательным.
Если вы хотите получить полную мощность новых элементов HTML5, взаимодействуйте с вашими блоками JSON AJAX и начнете передавать большое количество данных на стороне клиента, управлять локальными базами данных, запускать Рабочие выполняют множество задач в фоном и созданием реальных приложений javascript, вы просто держите jQuery там, где он есть: мощная библиотека среди других, которую вы будете использовать для управления DOM.
Ответ 19
jQuery может быть немного медленнее по производительности, но это экономит ваше время разработки. Он также интуитивно понятен и требует меньшего кода, чем основной javascript.