jQuery 2.0 - выбросить хлам

21.04.2013

У экспрессивных итальянцев есть обычай под Новый год выбрасывать из окон старые надоевшие вещи, чтобы заполнить освободившееся место под что-нибудь другое. Насколько я помню, об этом обычае я узнал из советского фильма "Старый Новый год" с Калягиным в главной роли. Не знаю, существует ли ещё такой обычай, особенно в свете нынешнего кризиса. Да и среди отцов-основателей jQuery лиц итальянской национальности вроде нет, и что самое интересное - время совсем не новогоднее. Но выпуск новой мажорной версии их библиотеки следует именно этому обычаю.

Собственно, нового в обновившейся популярной библиотеке как раз таки нет. Наоборот, jQuery 2.0 стала поддерживать меньшее количество браузеров по сравнению с предыдущей версией. Разработчики приняли волевое решение и отказались от поддержки Internet Explorer 6, 7 и 8. Даже несмотря на то, что восьмую версию своего браузера Microsoft ещё официально поддерживает, и его доля среди браузеров, по некоторым данным, достигает 10%. "Под раздачу" он попал потому, что даже улучшив в значительной степени работу с CSS, реализация его DOM API практически не изменилась, и остаётся аналогичной IE6/7.

Для поддержки этих браузеров разработчикам приходилось прибегать к различным ухищрениям, чтобы обеспечить стабильную работу. В итоге страдала производительность всей библиотеки. После обновления jQuery "похудел" на 12%, упростил, в результате рефакторинга, внутреннюю структуру и прибавил в скорости. Этой версией открывается новая ветка разработки, ориентированная на современные браузеры. Вместе с тем, старая ветка 1.х вовсе не останавливается в развитии. Она будет обновляться и следующие версии будут выходить параллельно, поддерживая одинаковый API для обеих веток. Так что скоро ожидаемая версия jQuery 1.10 будет приведена в соотвествие с 2.0, а в дальнейшем новые версии будут выходить одновременно.

Разработчики предлагают веб-мастерам ещё и такой дифференцированный подход - после определения типа клиентского браузера загружать соответствующую версию библиотеки и использовать именно её. Соответствие интерфейсов обеспечит возможность написания единого кода, подходящего для обеих версий.

Помимо "генеральной уборки", в jQuery 2.0 были добавлены механизмы, позволяющие гибко конфигурировать минималистические сборки библиотеки для специфических клиентов, вроде браузеров для Android. Вся библиотека разбита на 12 модулей, комбинируя которые можно выбрать лишь самое необходимое. Минимальный размер упакованной сборки с базовым функционалом займёт менее 10Кб.



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