Вот почему было бы лучше, если бы вы перестали использовать jQuery.

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

Почему мы когда-либо использовали jQuery?

jQuery когда-то была важной библиотекой, но больше не является. Вот почему мы когда-то нуждались в этом.

Джон Резиг разработал первоначальную версию jQuery в 2005 году и выпустил ее в 2006 годуLogRocket

Веб-браузеры несовместимы. JavaScript изначально был выпущен для добавления интерактивности веб-страницам в Netscape Navigator — первом веб-браузере. Со временем другие организации создали собственные веб-браузеры, и каждый браузер должен был обновлять свою среду выполнения JavaScript. Это означало, что некоторые функции JavaScript (и функции CSS) отсутствовали в разных браузерах. Когда компоненты разных веб-браузеров несовместимы, у вас есть два варианта: написать отдельный код для каждого браузера или использовать полифиллы. Полифил — это способ имитировать определенные функции в браузерах, которые их не поддерживают. jQuery упростил эти полифиллы, инкапсулировав их в простые функции.

Селекторы запросов. Никто не хотел писать кучу операторов document.getElementById или подобных альтернатив. Селекторы запросов в jQuery чрезвычайно просты, и вы можете применять одни и те же модификаторы к нескольким элементам (все в одной строке).

HTTP-запросы. JavaScript имеет долгую историю изменения API для HTTP-запросов. Также потребовалось много строк кода, чтобы сделать простой запрос к REST API. jQuery предоставляет методы $.get и $.post, которые позволяют выполнять HTTP-запросы с параметрами запроса и тела.

Анимация. Когда-то в CSS отсутствовала поддержка анимации. Написание пользовательских функций анимации снизит скорость отклика вашего сайта или заблокирует запуск других JavaScript. У jQuery были эффективные методы для анимации элементов на веб-сайтах.

Почему jQuery устарел

Браузеры стали более согласованными. В настоящее время веб-браузеры имеют единые стандарты HTML, JavaScript и CSS. Internet Explorer, убитый некоторое время назад, очевидно, не поддерживает большинство функций современных веб-браузеров. Тем не менее, Chrome, Firefox и Safari (а также браузеры на их основе) поддерживают одни и те же функции. Это означает, что JavaScript и CSS в одном браузере будут работать точно так же в другом. Это благодаря ECMAScript. Применяется только пара исключений.

ECMAScript — это стандарт JavaScript, предназначенный для обеспечения совместимости веб-страниц в разных веб-браузерах. Он стандартизирован Ecma International в соответствии с документом ECMA-262. — Википедия

Селекторы запросов. Вам больше не нужно использовать селекторы запросов jQuery. JavaScript предоставляет свои собственные селекторы запросов: document.querySelector и document.querySelectorAll. Хотя jQuery позволяет разработчикам связывать свои функции в цепочку, есть простой способ воспроизвести это в простом JavaScript.

HTTP-запросы. ECMAScript наконец определился с хорошим API для выполнения HTTP-запросов. fetch API может легко отправлять запросы к любому REST API. Если вы не хотите использовать fetch API, вы можете установить другую библиотеку, например Axios, которая даже лучше, чем jQuery, для выполнения HTTP-запросов.

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

6 причин, по которым мы все еще используем jQuery

Команда A написала статью 6 причин, по которым мы все еще используем jQuery в 2021 году. Я хотел найти время, чтобы ответить на их замечания.

Причина 1.Расширенный синтаксис селектора CSS для выбора элементов DOM.

Причина 2: Запись нескольких задач в одну строку.

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

Причина 3:обработка нескольких элементов DOM.

Причина 4: кросс-браузерная поддержка.

Знаете, что еще имеет кроссбраузерную поддержку? ЭС6. 🤪

Причина 5. Продуктивность разработчиков.

«Как мы неоднократно видели выше, jQuery действительно сокращает объем кода, написанного разработчиками. Когда мы избавляемся от шаблона, нам остается работать только над логикой конкретного проекта. Это увеличивает время непрерывной разработки и позволяет нам более эффективно выполнять задачи, сохраняя при этом чистый код. Как говорится, время — деньги, и такой подход снижает расходы наших клиентов».

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

Причина 6: широкий выбор полезных плагинов.

Обычный JavaScript имеет еще более широкий набор полезных плагинов, называемых библиотеками. Они не полагаются на jQuery, поэтому обычно работают намного быстрее, чем плагины jQuery. Также проще устанавливать пакеты JavaScript, используя npm и yarn.

Реагировать

Если вы используете React в своем проекте (или аналогичный фреймворк), jQuery бесполезен. React хранит все изменения в виртуальном DOM, для чего jQuery не годится. Нечастые манипуляции с DOM можно выполнить с помощью простого JavaScript или TypeScript.

Надеюсь, вам понравилась эта статья, и вы перестали использовать jQuery. Я перестал им пользоваться много лет назад.







Дополнительные материалы на PlainEnglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter и LinkedIn. Посетите наш Community Discord и присоединитесь к нашему Коллективу талантов.