В это трудно поверить, прошло уже почти восемь лет как был выпущен jQuery. Веб-разработка значительно изменилась за эти годы, и jQuery изменился вместе с ней. На протяжении всего этого времени команда пыталась поддерживать совместимость с кодом из старых версий и поддерживать лучшие практики веб-разработки современности.
Одна из этих практик — это семантическая вёрстка или семвер (semver) для краткости. В практическом смысле семвер даёт разработчикам (и инструментам для создания) идею риска вовлечения в переход на новую версию программы. Номер версии вида МАЖОРНАЯ.МИНОРНАЯ.ПАТЧ, где каждый из этих компонентов целое число. В семвере, если МАЖОРНЫЙ номер изменяется, это означает критические изменения в API и, следовательно, разработчикам нужно быть настороже.
Концепция определения версий имеет свои нюансы с jQuery, где совместимость с браузерами может быть просто также важной как API совместимость. Чтобы создать стройный jQuery, команда начала поставлять две версии в 2013 году. Первая версия сохранила нумерацию ветки 1.x и, в настоящий момент 1.11.1, поддерживает совместимость с максимальным количеством браузеров. Вторая версия, начатая с 2.0.0 и сейчас достигшая номера 2.1.1, отбросила поддержку браузеров вроде IE8 и ниже, чтобы рационализировать код. Обе версии 1.x и 2.x jQuery имеют одинаковые публичные API, даже если они в чём-то различаются в их внутренней реализации.
Наш следующий релиз будет использовать другую номенклатуру. Как и до этого, будет выпускаться два различных файла. Наследник сегодняшней версии 1.11.1 станет называться jQuery Compat 3.0. Наследник версии 2.1.1 станет называться jQuery 3.0. Это два различных пакета по npm и Bower, но они будут иметь одинаковую версию для обозначения того, что они имеют одно и то же поведение API.
Также команда jQuery выровняет их политику по поддержки браузеров начиная с этих релизов. Главный jQuery пакет продолжит быть маленьким и плотным, поддерживающим актуальные версии браузеров (текущую и предыдущие версии специфических браузеров), которые наиболее распространены на время релиза. Мы можем поддерживать дополнительные браузеры в этом пакете, в зависимости от доли рынка. Пакет jQuery Compat предлагает намного более широкую поддержку браузеров, но за это придётся платить большим размером файла и потенциальным замедлением производительности.
Не смотря на большой прыжок в номере версии, они не ожидают большого количества миграционных проблем для подавляющего большинства кода jQuery. Изменения вроде удаления устаревших методов будут определены новой версией плагина jQuery Migrate что сделает их простыми для нахождения и исправления. Они дадут нам больше подробностей по изменения в будущих новостях.
Итак, здесь TL;DR для версии 3.0 jQuery API:
- Если вам нужна поддержка широчайшего разнообразия браузеров, включая IE8, Opera 12, Safari 5 и тому подобное, используйте пакет jQuery-Compat 3.0.0. Мы рекомендуем эту версию для большинства веб-сайтов, т. к. она обеспечивает наилучшую совместимость со всеми посетителями веб-сайта.
- Если ваш сайт сделан только для актуальных ведущих браузеров или это HTML приложение содержащееся в webview (например PhoneGap или Cordova), где вы знаете, какие браузерные машины используются, идите за пакетом jQuery 3.0.0.
- Пока команда jQuery не объявим обратное, оба пакета будут содержать одинаковые публичные API в соответствующих мажорных и минорных версиях. Это должно упростить разработчикам переключение между этим двумя пакетами и максимизировать совместимость со сторонними плагинами jQuery.
С каждый последующим выпуском команда jQuery будет делать оба пакета доступными в npm и bower. Оба пакета будут также доступны как отдельный файл в jQuery CDN. Их использование оттуда также просто как включение jquery-compat-3.0.0.js или jquery-3.0.0.js, в зависимости от ваших нужд. Команда jQuery переговорила с людьми, которые работают с CDN от Google и они также будут поддерживать оба пакета.
По мере дальнейшего прогресса в версии 3.0, мы будем уведомлять каждого о подробностях об изменения кода, поддерживаемых браузеров и всего подобного. Оставайтесь на связи, почаще заходите на codeby.net.
Большое спасибо команде разработчиков, я вообще не представляю современное сайто строение без использования jQuery.
На 100% согласен. Как вспомню чем для меня был AJAX до jQuery, так просто вздрагиваю. Куча процедур, каждая из которых срабатывала в определённом браузере. Было здорво, когда оно просто везде работало. А если хотелось разных "излишеств" (например, одновременная отправка AJAX'ом GET и POST запросов, то там ещё веселее начиналось.
С jQuery эти и подобные операции стали банальными и рутинными.