Статьи

Что нового в jQuery UI 1.9

После двух с половиной лет задержки и большой кропотливой работы новая версия jQuery UI 1.9 была наконец выпущена. jQuery UI 1.9 поддерживает последнюю стабильную версию jQuery вплоть до версии 1.6. Со многими исправлениями ошибок и множеством изменений, это значительный шаг вперед для библиотеки.

Состояние jQuery UI

Я рад сообщить вам о последних изменениях, но сначала позвольте мне объяснить причины некоторых из них. jQuery UI начинался как комбинация новых и существующих плагинов, собранных из разных источников. К сожалению, недостатком этой инициативы было то, что каждый автор имел свой собственный стиль кодирования и принципы дизайна, что приводило к несогласованности между плагинами и виджетами, что замедляло прогресс библиотеки в целом. Понимая проблему, начиная с версии 1.8, команда jQuery UI пыталась изменить существующий процесс создания плагинов, сосредоточившись на более упрощенных API.

Основная цель будущего выпуска 2.0 — создать полностью переработанный проект с гораздо более простым API, унифицированной базой кода, согласованностью между виджетами, лучшей стабильностью, полной документацией и полным набором тестов для каждого плагина. И как только существующие плагины будут обновлены до новых стандартов, проект будет продвигаться гораздо быстрее. Теперь давайте обсудим изменения в версии 1.9.

Новый веб-сайт

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

Новые виджеты

Давайте приветствуем новые виджеты Tooltip, Spinner и Menu в библиотеке. Я не буду приводить здесь примеры кода, потому что на веб-сайте jQuery UI уже есть множество демонстраций. Просто перейдите по ссылкам ниже, чтобы увидеть виджеты в действии.

Виджет подсказки

С новым виджетом подсказки , у jQuery UI наконец есть встроенное решение всплывающей подсказки. Виджет позволяет использовать статический контент или удаленный контент, загруженный через Ajax. Вы можете добавить пользовательское позиционирование и выбрать, какую анимацию использовать, когда подсказка отображается и / или скрыта. Кроме того, если для параметра отслеживания мыши установлено значение true всплывающая подсказка будет удерживаться указателем мыши до тех пор, пока не будет перемещаться по элементу.

Spinner Widget

Когда вы имеете дело с любым видом числового ввода, Spinner Widget может быть вашим лучшим другом. Значениями можно управлять с помощью колеса прокрутки мыши или с помощью клавиатуры. Вы можете вращать значения маленькими или большими приращениями. Например, клавиши со стрелками вверх / вниз могут вращать значение на единицу, в то время как клавиши на странице вверх / вниз вращают значение на десять. Кроме того, с помощью плагина Globalize вы можете настроить виджет для работы с валютами и датами в разных локалях. Наконец, опция переполнения позволяет вам ограничить счетчик некоторым диапазоном. Например, если вы установите диапазон от одного до пяти, то все, что выше пяти, будет переполнено до нуля, и наоборот. Это особенно полезно при работе с датами и временем.

Виджет Меню

Виджет меню можно использовать для встроенных и всплывающих меню или в качестве основы для построения более сложных систем меню. Например, вы можете создавать вложенные меню с пользовательским позиционированием. Говоря о меню, еще 2 виджета, Selectmenu и Menubar, запланированы к выпуску 1.10. Вы можете увидеть дорожную карту для деталей.

API Редизайн

Как упоминалось ранее, пользовательский интерфейс jQuery подвергается рефакторингу, чтобы стать более согласованным и компактным. Из-за этого в новый выпуск было внесено много изменений API. Некоторые из наиболее заметных изменений перечислены ниже.

Фабрика Виджетов

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

Виджеты и эффекты

jQuery UI 1.9 представляет редизайн API для Аккордеона, Автозаполнения, Диалога, Позиции, Вкладок и Эффектов. В целом, согласованность между виджетами была улучшена. Каждый отдельный виджет также видел некоторые улучшения. Виджет accordion обеспечивает лучшую поддержку анимации, виджет tabs имеет лучшую поддержку Ajax, а утилита position предлагает лучшее обнаружение столкновений.

Все файлы эффектов были переименованы в соответствии с jquery.ui.*.js именования jquery.ui.*.js . Например, jquery.effects.*.js был переименован в jquery.ui.effect-*.js . Аналогичным образом jquery.effects.core.js был переименован в jquery.ui.effect.js . Если вы используете отдельные файлы эффектов, вам необходимо соответствующим образом обновить ссылки на файлы.

Обратите внимание, что только версии, утилиты и эффекты реорганизуются в версии 1.9. Все взаимодействия будут переписаны для 2.0, поэтому они будут проходить другой процесс реализации.

Совместимость API

Несмотря на то, что изменения внесены изменения, 1.9 поддерживает полную совместимость с API 1.8. Это означает, что обновление до 1.9 не должно нарушать существующие страницы. Это достигается путем перестроения API 1.8 поверх API 1.9. Поведение по умолчанию для всех выпусков 1.9 будет состоять в том, чтобы одновременно использовать API-интерфейсы 1.8 и 1.9, перенося на API-интерфейс 1.8 в случае конфликта.

Многие существующие API были объявлены устаревшими в версии 1.9. Эти API будут удалены в версии 1.10. К счастью, вам не нужно ждать следующего выпуска, чтобы узнать, будет ли ваш код работать после удаления API 1.8. Вы можете использовать флаг $.uiBackCompat чтобы отключить все устаревшие API, что позволит вам определить, готов ли ваш код для 1.10. В следующем примере отключаются устаревшие API-интерфейсы, задав для $.uiBackCompat значение false .

 <script src="jquery.js"></script> <script>$.uiBackCompat = false;</script> <script src="jquery-ui.js"></script> 

Заключительные слова

Руководство по обновлению содержит подробную информацию об обновлении до версии 1.9. Не бойтесь всех этих изменений. Никто не ожидает рефакторинга существующего кода, но команда jQuery UI приложила немало усилий для обеспечения безболезненного процесса перехода.