WordPress без JQuery, это возможно в 2021?

Привет, Уважаемый разработчик!

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

До недавнего времени JQuery был стандартом в сайтостроении. Любая, даже самая простая функция писалась с помощью этой библиотеки, но откуда такая популярность и в чем ее проблема?

Что не так с JQuery ?

Казалось бы , мы вступили в эпоху быстрого интернета. В городах появляется 5G, другие компании заявили о разработке уже шестого поколения связи, а скоростью 300 Мбит\с никого не удивишь. И вот смотря на жалкие 90кб, которые весит библиотека ( а в минимизированном виде все 32кб), понимаешь, что сервер сможет всю её передать менее чем за 50мс. Это очень мало!
Но дьявол кроется не в весе библиотеки, а в количестве строк, а их там 10 000. И как мы уже говорили, некоторые сайты используют JQuery для написания даже самых примитивных функций, а значит они не используют и 1% возможностей библиотеки.

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

Столкнем лоб в лоб одинаковые функции.

А теперь взглянем на результаты их выполнения:

Выполняя эту функцию, но с использованием  JQuery, браузер изрядно попотел и выдал результат спустя 2.5 секунды, при этом без библиотеки, он справился всего за 0.8 секунды. Это в 4 раза быстрее!

Откуда же такая популярность ?

У этой популярности вполне очевидная природа. До недавнего времени JavaScript был болью у разработчиков. Писать на нём было сложно и неудобно, в то время как JQuery предлагал заметно уменьшить количество строк исполняющего скрипта. Это породило огромное комьюнити, которое делилось своими работами в интернете (Привет, StackOverFlow), поэтому молодым разработчикам оставалось научиться хорошо искать в интернете.

Но время не стоит на месте и JavaScript тоже. Создатели языка изрядно поработали над синтаксисом и возможностями и упростили жизнь, кто зависим от JS. Давайте перейдём к примерам:

AJAX запросы

Получение данных с URL в JQuery выглядело так:

$.ajax({ url: ‘/api.json’,
type: ‘GET’
success: (data) => {
console.log(data)
}
})

Ну а в JavaScript теперь так:

fetch(‘/api.json’)
.then(response => response.text())
.then(body => console.log(body))

не намного то и сложней, не правда ли?

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

О поддержке браузеров.

Сегодня о поддержке браузеров приходится задумываться намного меньше чем раньше и некоторые функции могут не работать только на Internet Explorer или Opera Mini, но если от первого даже сами создатели(Microsoft) отказались ещё летом 2021 года, то у второго совсем нету активной аудитории. Но даже если перед вами поставили нестандартную задачу с поддержкой браузеров их эпохи динозавров, тогда можно использовать полифиллы для самых распространенных функций.

EventListener  — https://github.com/github/eventlistener-polyfill#readme
Fetch — https://github.com/github/fetch#readme
Smoothscroll — https://github.com/iamdustan/smoothscroll#readme
ClassList — https://github.com/yola/classlist-polyfill#readme

Если сомневаетесь насчёт поддержки браузера других функций, то можно воспользоваться https://caniuse.com/

Забастовка против JQuery

Благодаря улучшению ванильного JS и широкой поддержке современных браузеров, некоторые интернет-порталы полностью отказались от JQuery. К их числу можно отнести GitHub. Но WordPress не стал отказываться от библиотеки и этому есть объяснение:

В репозитории WordPress существует огромное количество плагинов и тем, которые зависимы от JQuery и его отключение просто уронит сотни тысяч сайтов.

В защиту JQuery

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

Итог:

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

Читайте также:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *