Чистый JavaScript, jQuery или только CSS

Много винных пробокВопрос, вызывающий по сей день целое море дискуссий о том, что лучше использовать при разработке сайта - JS или jQuery, не давал и мне долгое время покоя. Я лично не стесняюсь использовать jQuery в своих решениях, но причиной моих внутренних терзаний стали некоторые заметки и статьи с пометками: "чистый" и "без", от сформировавшегося целого сообщества людей, которые решительно отказывались от применения jQuery в своих разработках.
  Естественно, что у этого сообщества появилось противоположное, на полноценный холивар это все конечно не тянуло, но доводы с обеих сторон, хоть и были скупы, но весьма интересные. А еще, в этом "противостоянии" не обошлось без нашумевших примеров с "только CSS", которые тоже не остались без внимания.
  В итоге я решил разобраться и структурировать все "за" и "против", плюсы и минусы, применения и использования всех трех вариантов при создании сайта.

  Так как таблицы стилей относятся непосредственно к оформлению, а не к программированию, то с ними разберусь в первую очередь.
  Итак, основным нюансом, который стал почвой для появления увлекательных статей-уроков с пометкой "только CSS!" и восхищения ими, стала возможность реализации большинства анимационных эффектов в новой, третьей, версии спецификации.
  Основной изюминкой было то, что на момент выхода CSS3 не все браузеры отображали указанные в коде свойства, поэтому до момента появления новых версий обозревателей, такие статьи были скорее рекламой новых будущих возможностей, а кроссбраузерности в анимации приходилось достигать, применяя jQuery. Но на данный момент подавляющее большинство пользователей интернет обновило свои браузеры до последних версий, которые вполне корректно воспринимают большинство новых свойств без префиксов и "костылей". а разработчики могут сделать анимационные эффекты на сайте только при помощи CSS.

  Что же касается ЯваСкрипт и дЖиквер для меня вообще не понятна суть противостояния, так как фреймворк является частью языка JavaScript и противопоставлять их как минимум глупо. Он создан для того, чтобы упростить работу с набором элементов и непосредственно сократить рабочий код, используя универсальные решения собранные в библиотеку.
  Читая статьи с какой-нибудь пустяковой приблудой и кодом скрипта почти на всю страницу я просто умиляюсь тому, как гордо автор заявляет что решение НЕ требует добавления одной строчки подключения дополнительных библиотек, изящно намекая на jQuery и причисляя себя к сообществу "чистого JavaScript", но ведь скрипт написанный на jQ займет несколько строк. Плюс ко всему, благодаря собранным в этом фреймворке универсальным решениям для большинства широко используемых функций и действий, простому определению элементов, к которым их нужно применять, использовать его очень просто. Однако, несомненно, что для более-менее сложных манипуляций, знания нативного JavaScript необходимы.
  Основным аргументом ЗА нативный JS является то, что реализация необходимого функционала обходится без подключения дополнительных библиотек, загрузка которых занимает дополнительные время и трафик. Тут же можно встретить опасения что если фреймворк подключен удаленно, по ссылке общественного хостинга (например Google или Яндекс), то не исключена вероятность отсутствия к нему доступа и тогда скрипты на сайте выполнятся не будут, но вероятность такого события практически равна нулю. Плюс ко всему, библиотека кешируется браузером, то есть если пользователь уже посещал сайт с подключенным к нему jQuery, то повторно он загружаться не будет.
  Однако, следует заметить тот факт, что в некоторых случаях, когда требуется добавить скрипт для малого количества очень простых действий, которые вряд ли будут дополняться более сложными в будущем, все-таки проще все сделать без подключения к сайту различных библиотек (jQuery популярная, но не единственная). но я свой выбор склоняю в сторону jQuery.
©http://magentawave.com

Комментариев нет:

Отправить комментарий

Следующее Предыдущее

BestProject