API-интерфейсы для измерения производительности веб-приложений быстро получили статус Candidate Recommendation консорциума W3C
Мы рады сообщить вам, что три новые спецификации рабочей группы консорциума W3C по производительности веб-приложений получили статус Candidate Recommendation консорциума W3C. Точное измерение характеристик производительности веб-приложений играет важную роль для повышения скорости работы с Интернетом. Кроме того, разработчикам необходимо эффективно использовать соответствующее аппаратное обеспечение для повышения производительности своих приложений. В течение последних двух лет такие компании, как Майкрософт, Google, Mozilla, Intel и Facebook, работали в рамках рабочей группы для достижения этих целей. Это прекрасный пример того, чего можно достичь благодаря объединению усилий отрасли и сообщества на основе сотрудничества с консорциумом W3C.
Спецификации Navigation Timing, Resource Timing, User Timing и Performance Timeline помогают разработчикам точно измерять производительность веб-приложений. Первые три из этих спецификаций предоставляют разработчикам информацию, связанную с навигацией в документе, ресурсами на странице и скриптами разработчика соответственно. Спецификация Performance Timeline определяет единый интерфейс для извлечения этих данных о времени. До появления этих API разработчики не могли точно измерять производительность своих сайтов.
Чтобы максимально точно измерить эти три показателя, в спецификации High Resolution Time определяется точность часов до долей миллисекунды. Этот интерфейс помогает не только точно измерять показатели производительности, но и лучше вычислять частоту кадров и синхронизировать анимацию или аудиоподсказки. Впервые разработчики могут измерять параметры операций с точностью до долей миллисекунды.
Спецификации Page Visibility, Timing control for script-based animations и Efficient Script Yielding помогают разработчикам создавать веб-приложения, более эффективно использующие ресурсы центрального процессора и электропитания. API-интерфейс Page Visibility позволяет программным образом определять текущее состояние отображения страницы. Разработчики могут использовать эти данные для принятия взвешенных решений, связанных с энергоэффективностью и использованием ресурсов центрального процессора, например уменьшать активность, когда страница находится на фоновой вкладке. API requestAnimationFrame
из спецификации Timing control for script-based animations позволяет создавать более эффективные анимации JavaScript. Наконец, API setImmediate
из спецификации Efficient Script Yielding позволяет разработчикам эффективно передавать поток управления агенту пользователя и получать мгновенный обратный вызов, эффективно используя центральный процессор.
Чтобы веб-разработчикам нужно было всего один раз написать код, который будет эффективно работать во всех браузерах, наша рабочая группа усердно трудилась над стандартизацией этих API на протяжении последних двух лет. В следующей таблице представлен уровень зрелости всех спецификаций, редактируемых в рабочей группе.
Спецификация | Editor’s Draft | First Public Working Draft | Last Call | Last Call 2 | Candidate Rec | Proposed Rec | Rec |
---|---|---|---|---|---|---|---|
Navigation Timing | Сентябрь 2010 | Октябрь 2010 | Январь 2011 | Февраль 2011 | Июль 2012 | ||
Resource Timing | Сентябрь 2010 | Май 2011 | Июнь 2011 | Май 2012 | |||
User Timing | Октябрь 2010 | Август 2011 | Август 2011 | Май 2012 | Июль 2012 | ||
Performance Timeline | Июль 2011 | Август 2011 | Август 2011 | Май 2012 | Июль 2012 | ||
High Resolution Time | Март 2012 | Март 2012 | Март 2012 | Май 2012 | |||
Page Visibility | Апрель 2010 | Июнь 2011 | Июль 2011 | Июль 2012 | |||
Display Paint Notifications | Май 2011 | Июнь 2011 | Февраль 2012 | ||||
Efficient Script Yielding | Июнь 2011 | ||||||
Navigation Timing 2 (НОВАЯ) | Апрель 2012 | Май 2012 |
Таблица, в которой показан статус спецификаций консорциума W3C по производительности веб-приложений
В этом месяце спецификация Navigation Timing была опубликована как Proposed Recommendation (PR). Этот этап стандартизации является заключительным шагом перед тем, как веб-стандарт становится официальной рекомендацией консорциума W3C (получает статус Recommendation). Кроме того, этот интерфейс начал широко применяться в браузерах, включая его поддержку начиная с версий Internet Explorer 9, Chrome 6 и Firefox 7. Недавно рабочая группа начала внедрять улучшения на основе отзывов и предложений и работать над следующей версией этой спецификации — Navigation Timing 2.
В этом месяце спецификации User Timing, Performance Timeline и Page Visibility были опубликованы как Candidate Recommendation (CR). Этот этап стандартизации предшествует этапу PR и отражает то, что данная спецификация была всесторонне изучена и удовлетворяет техническим требованиям рабочей группы консорциума W3C. Спецификация Resource Timing была опубликована как CR всего два месяца назад вместе со спецификацией High Resolution Time, которая перешла из стадии Editor’s Draft в стадию CR всего за три месяца.
Эти API-интерфейсы являются прекрасным примером того, насколько быстро новые идеи могут стать совместимыми стандартами, на которые разработчики могут опираться в современных браузерах с поддержкой HTML5. Благодарю всех участников рабочей группы консорциума W3C по производительности веб-приложений за помощь в проектировании этих API и других поставщиков браузеров за начало реализации этих API для обеспечения совместимости.
— Джатиндер Манн (Jatinder Mann), руководитель программы, производительность Internet Explorer