jQuery 1.5 готов для использования!
Этот долгожданный релиз вынудил приложить команду разработчиков немалые усилия. Поэтому, огромнейшее им спасибо!
Как правило, предлагается два варианта использования jQuery — минимизированная и распакованная (для отладки и изучения).
Вы можете свободно использовать эти URLы прямо в вашем проекте, тем самым получая все преимущества производительности в связи с быстрой загрузкой jQuery.
Также вы можете загрузить jQuery из Microsoft и Google’s CDNs:
В этом выпуске было исправлено 83 ошибок и 460 закрытых тикетов в общем количестве.
Набор тестов (включающий в себя теперь 4437 тестов) выполняется успешно во всех браузерах, на которых работает jQuery. Команда разработчиков уверяет, что тесты успешны в следующих браузерах:
Ссылка на новость на офсайте: http://blog.jquery.com/2011/01/31/jquery-15-released/
API-документация традиционно может быть найдена на сайте: jQuery 1.5 API Documentation.
Полное расписание предстоящих выпусков можно найти по ссылке. Сейчас команда планирует делать выпуски мажорных версий jQuery чаще, чем раньше (скажем так, несколько раз в году против ранешнего плана — 1 в год).
Наибольшее изменение в этом выпуске — это переработка модуля Ajax. Это позволяет исправлять множество дыр, которые имели место в старой версии данного модуля наряду с обеспечением высокого уровня согласованности из API-интерфейсом.
Возможно, наибольшее изменение касается вызова jQuery.ajax (или же jQuery.get, jQuery.post, и т. д.). Теперь результат выполнения этого метода возвращает jXHR-объект, обеспечивающий согласованность с объектом XMLHttpRequest между различными платформами (что позволяет теперь выполнять ранее невозможные задачи в связи с прерыванием запросов JSONP).
Больше информации касательно нового jXHR-объекта можно найти в документации по jQuery.ajax().
В качестве дополнения к более согласованному API, система Ajax также теперь более поддается расширению, тем позволяя присоединять разного рода обработки, фильтры и транспорты. Данные изменения должны дать основу для нового поколения плагинов к Ajax, взаимодействуя с новой реализацией. Больше информации можно найти в документации по расширению Ajax.
Команда активно работает над расширяемостью Ajax API и если вам есть, что сказать — пожалуйста, не стесняйтесь обратиться на форум разработчиков jQuery
Наряду с переделанным модулем Ajax также стала доступной новая возможность, так называемая, «Отложенные объекты» (сделана, кстати, на основании Promisess/A, — прим. перев.). Этот API позволяет работать с результирующим набором данных, которого фактически пока не существует (например, полученный результат выполнения асинхронного Ajax-запроса). Это дополнительно предоставляет возможность присоединять несколько обработчиков событий (что ранее не было возможным в предыдущем Ajax API).
Например, следующие операции теперь возможны с новым jQuery Ajax API:
Также вы можете создавать собственные «отложенные объекты» используя jQuery.Deferred. Больше информации вы найдете в документации по Deferred-объектам.
jQuery теперь предоставляет новый способ, благодаря которому вы можете создавать и изменять и клонировать jQuery — делать все, пользуясь полноценным jQuery API. Например, вы можете использовать его для переопределения собственных методов jQuery, фактически не затрагивая методы, с которыми, возможно, работают другие пользователи, или даже создавать инкапсулированные API-интерфейсы для ваших плагинов, что избегает коллизию имен.
Для наглядной демонстрации — пример создания плагина, инкапсулировашего методы, которые не конфликтуют с любым другим плагином:
Больше информации о jQuery.sub() можно также найти в документации по API.
Производительность смежного перебора элементов
В этом выпуске также было улучшено несколько часто используемых методов: .children(), .prev(), and .next(). Разница в скоростях обработки, которые мы уже можем наблюдать, весьма существенна (возможно, намного быстрее, в зависимости также от браузера).
Тест на производительность или голые цифры
Ну, и, наконец, были сделаны о внутренней системе сборки jQuery. Команда работала в части стандартизации всего процесса сборки касательно отличной JavaScript-среды NodeJS. С их слов, особенно команда довольна уменьшением зависимости от систем Java/Rhino, фокусируя взгляд на среды будущего JavaScript (неуж-то следует ждать server-side реализации jQuery? — прим. перев.).
Вместе с этим также был выполнен переход из Google Closure Compiler на UglifyJS. Также были замечены изменения в лучшую сторону относительно размера файла, в связи с чем разработчики еще более удовлетворены данным переходом.
Ну, и, конечно, команда jQuery и дальше активно всех приглашает содействовать в поддержке в jQuery-ядра.
Пиши меньше, делай больше!
Этот долгожданный релиз вынудил приложить команду разработчиков немалые усилия. Поэтому, огромнейшее им спасибо!
Загрузка
Как правило, предлагается два варианта использования jQuery — минимизированная и распакованная (для отладки и изучения).
- jQuery Minified (29kb Gzipped)
- jQuery Regular (207kb)
Вы можете свободно использовать эти URLы прямо в вашем проекте, тем самым получая все преимущества производительности в связи с быстрой загрузкой jQuery.
Также вы можете загрузить jQuery из Microsoft и Google’s CDNs:
- Microsoft CDN: http://ajax.microsoft.com/ajax/jQuery/jquery-1.5.min.js
- Google CDN: https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js
О релизе
В этом выпуске было исправлено 83 ошибок и 460 закрытых тикетов в общем количестве.
Набор тестов (включающий в себя теперь 4437 тестов) выполняется успешно во всех браузерах, на которых работает jQuery. Команда разработчиков уверяет, что тесты успешны в следующих браузерах:
- Safari 5.0.3 / 4.0.5 / 3.2.3 / 3.1.2
- Opera 11.01 / 11 / 10.63 / 10.54 / 10.10 / 9.64
- IE 6 / 7 / 8
- Firefox 4.0b9 / 3.6.13 / 3.5.11 / 3.0.19 / 2.0.0.20
- Chrome 8.0.552.215 / 8.0.552.237 / 9.0.597.67 Beta / 10.0.642.2 Dev
Ссылка на новость на офсайте: http://blog.jquery.com/2011/01/31/jquery-15-released/
API-документация традиционно может быть найдена на сайте: jQuery 1.5 API Documentation.
Полное расписание предстоящих выпусков можно найти по ссылке. Сейчас команда планирует делать выпуски мажорных версий jQuery чаще, чем раньше (скажем так, несколько раз в году против ранешнего плана — 1 в год).
Итак, без лишних слов, что же нового в jQuery 1.5?
Полная переработка Ajax
Наибольшее изменение в этом выпуске — это переработка модуля Ajax. Это позволяет исправлять множество дыр, которые имели место в старой версии данного модуля наряду с обеспечением высокого уровня согласованности из API-интерфейсом.
Возможно, наибольшее изменение касается вызова jQuery.ajax (или же jQuery.get, jQuery.post, и т. д.). Теперь результат выполнения этого метода возвращает jXHR-объект, обеспечивающий согласованность с объектом XMLHttpRequest между различными платформами (что позволяет теперь выполнять ранее невозможные задачи в связи с прерыванием запросов JSONP).
Больше информации касательно нового jXHR-объекта можно найти в документации по jQuery.ajax().
В качестве дополнения к более согласованному API, система Ajax также теперь более поддается расширению, тем позволяя присоединять разного рода обработки, фильтры и транспорты. Данные изменения должны дать основу для нового поколения плагинов к Ajax, взаимодействуя с новой реализацией. Больше информации можно найти в документации по расширению Ajax.
Команда активно работает над расширяемостью Ajax API и если вам есть, что сказать — пожалуйста, не стесняйтесь обратиться на форум разработчиков jQuery
Отложенные (deffered) объекты
Наряду с переделанным модулем Ajax также стала доступной новая возможность, так называемая, «Отложенные объекты» (сделана, кстати, на основании Promisess/A, — прим. перев.). Этот API позволяет работать с результирующим набором данных, которого фактически пока не существует (например, полученный результат выполнения асинхронного Ajax-запроса). Это дополнительно предоставляет возможность присоединять несколько обработчиков событий (что ранее не было возможным в предыдущем Ajax API).
Например, следующие операции теперь возможны с новым jQuery Ajax API:
- // Присоединить обработчики непосредственно после запроса,
- // и запомним jxhr-объект этого запроса
- var jxhr = $.ajax({ url: "example.php" })
- .success(function() { alert("успешно"); })
- .error(function() { alert("ошибка"); })
- .complete(function() { alert("выполнено"); });
-
- // выполним какую-то работу здесь ...
-
- // Определим другую функцию для обработки события complete
- jxhr.complete(function(){ alert("выполнено опять"); });
Также вы можете создавать собственные «отложенные объекты» используя jQuery.Deferred. Больше информации вы найдете в документации по Deferred-объектам.
jQuery.sub()
jQuery теперь предоставляет новый способ, благодаря которому вы можете создавать и изменять и клонировать jQuery — делать все, пользуясь полноценным jQuery API. Например, вы можете использовать его для переопределения собственных методов jQuery, фактически не затрагивая методы, с которыми, возможно, работают другие пользователи, или даже создавать инкапсулированные API-интерфейсы для ваших плагинов, что избегает коллизию имен.
Для наглядной демонстрации — пример создания плагина, инкапсулировашего методы, которые не конфликтуют с любым другим плагином:
- (function() {
- // Делаем копию jQuery, используя sub()
- var plugin = jQuery.sub();
-
- // Расширим возможности полученной копии с новыми методами плагина
- plugin.fn.extend({
- open: function() {
- return this.show();
- },
- close: function() {
- return this.hide();
- }
- });
-
- // Добавим наш плагин к оригинальной копии jQuery
- jQuery.fn.myplugin = function() {
- this.addClass("plugin");
-
- // Убеждаемся, что наш плагин возвращает нашу "скопированную" версию jQuery
- return plugin( this );
- };
- })();
-
- $(document).ready(function() {
- // Вызываем плагин, метод open уже существует
- $('#main').myplugin().open();
-
- // Внимание: вызов $("#main").open() не будет работать, поскольку метод open() не существует!
- });
* This source code was highlighted with Source Code Highlighter.
Больше информации о jQuery.sub() можно также найти в документации по API.
Производительность смежного перебора элементов
В этом выпуске также было улучшено несколько часто используемых методов: .children(), .prev(), and .next(). Разница в скоростях обработки, которые мы уже можем наблюдать, весьма существенна (возможно, намного быстрее, в зависимости также от браузера).
Тест на производительность или голые цифры
Система сборки
Ну, и, наконец, были сделаны о внутренней системе сборки jQuery. Команда работала в части стандартизации всего процесса сборки касательно отличной JavaScript-среды NodeJS. С их слов, особенно команда довольна уменьшением зависимости от систем Java/Rhino, фокусируя взгляд на среды будущего JavaScript (неуж-то следует ждать server-side реализации jQuery? — прим. перев.).
Вместе с этим также был выполнен переход из Google Closure Compiler на UglifyJS. Также были замечены изменения в лучшую сторону относительно размера файла, в связи с чем разработчики еще более удовлетворены данным переходом.
Ну, и, конечно, команда jQuery и дальше активно всех приглашает содействовать в поддержке в jQuery-ядра.
Пиши меньше, делай больше!