Next-Gen YSlow питанием от YUI
18 июля 2011 в 9:17 вечера Марсель Duran | В развитии , производительность | 4 комментарияПару недель назад, Yahoo! объявила о YSlow для мобильных на скорости 2011 , в результате чего мощность анализа производительности YSlow в мобильном мире.
YSlow для мобильных работ, как закладка , позволяющая работать на браузерах, отличных от Firefox (как дополнение) и Chrome (как расширение) .
Архитектура YSlow был частично переработан, чтобы работать кросс-платформенный и Юй был существенным фактором сделать песочницу, кросс-браузерный абстракции и простой доступ YQL возможно.
Песочница
Для того, чтобы быть внедрены на странице, не мешая анализ производительности и не возиться с самой страницы, YSlow является букмарклет, который вводит JavaScript и CSS в любую страницу, используя силу YUI песочницы:
Закладка URL:
JavaScript: (функция (у, р, о) { р = y.body.appendChild (y.createElement ("IFRAME ')); p.id = 'YSlow, закладка'; p.style.cssText = 'дисплей: нет; O = p.contentWindow.document; o.open (). write (' <head> <Тело OnLoad = " YUI_config = { Победа: window.parent, Doc: window.parent.document }; VAR г = документа; d.getElementsByTagName (\ "голову \ ') [0] . AppendChild ( d.createElement (\ 'скрипт \') ). SRC = \ 'http://d.yimg.com/jc/yslow-bookmarklet.js \ " > '); o.close () } (Документ))
Этот код:
- создает пустой IFRAME;
- добавляет его в теле страницы;
- скрывает IFRAME *;
- получает свое окно обработчика;
- пишет в своем содержании тела IFRAME;
- это тело пуст, но имеет
onloadсобытие -
onloadсобытие определяет, как вводить YSlow JS:- устанавливает
YUI_config, поэтомуwinиdocуказывает на страницу анализируемогоwindowиdocumentсоответственно - динамично внедряет YSlow URL путем создания
scriptэлемента в IFRAME вhead
- устанавливает
* IFRAME отображается время все активы YSlow презентация загружается
Это позволит разместить IFRAME на странице анализируются. Это IFRAME будет выступать в качестве изолированной среды и YSlow будет находиться в ее пределах. С IFRAME создается динамически без src атрибут, он будет иметь доступ к своему родителю (страница анализируемого), потому что нет же политика происхождения нарушения, что там происходит.
YUI_config объект удобен, поскольку он устанавливает win и doc для родителей IFRAME (в анализируемой страницы), что любой новый экземпляр Юй будет привязан к основному документу по умолчанию, монтаж любой вызов Y.all и Y.one через Y.config.win или Y.config.doc из YUI use обратного вызова.
Презентация YSlow в обрабатывается IFRAME window и document ссылки, позволяющие YSlow основной сценарий, чтобы сделать разметку, а также получить внешний CSS в этом IFRAME не вступая в конфликт со стилями родительского страницы. YSlow просматривает родительскую страницу, чтобы получить все компоненты (картинки, скрипты, ссылки, фон, изображения, Flash и т.д.), необходимых для последующего анализа производительности. Это делается путем доступа к Y.config.win и Y.config.doc , так как они относятся к родительской страницы.
Кросс-браузер абстракция
Будучи инструментом, YSlow для мобильных должна работать в любом браузере *. YUI абстрагируется кросс-браузерный вопросов нормализации различий браузеров, в результате чего чистый, легкий для чтения и сопровождения кода.
YSlow не была полностью перенесена на YUI 3 - только на уровне контроллера (от предстоящего компонент App) на данный момент - но все же, все манипуляции с DOM и обработка событий выполняется на node и event модулей. В будущих версиях мы планируем переносить больше возможностей YSlow на YUI 3.
* Не все браузеры в настоящее время поддерживаются
YQL
YSlow анализирует страницы, проверяя заголовки HTTP для компонентов, найденных на странице. Заголовки HTTP-ответа не доступны на странице, следовательно, эти компоненты должны быть просили еще раз для того, чтобы YSlow получить информацию в заголовке ответа. Это может быть достигнуто путем запроса список компонентов адресов через XMLHttpRequest (AJAX), но к сожалению, из-за той же политики ограничения происхождения , это не возможно, если все компоненты находятся в том же домене, что и страница, которая является очень маловероятным.
Общее же обойти ограничения политики происхождения использованием JSONP, где внешний сервер работает как прокси-запроса списка адресов компоненты и извлечения их HTTP-заголовки ответа от имени YSlow. В связи с популярностью YSlow и последние мобильные усилия анализ производительности, мы ожидаем достаточно тяжелый трафик для YSlow для мобильных букмарклет. Для того, чтобы поддерживать такой трафик, YQL было масштабируемое решение, принятые YSlow через открытые данные таблицы имени data.headers , который получает ответ заголовков и содержимого для данного списка адресов в то время как олицетворение агента пользователя для обеспечения ожидаемого содержания получены.
YQL запросов компонента делает всю работу по управлению YQL запросов при управлении JSONP запросов под капотом, в результате чего код YSlow контроллер гораздо проще и простой в обслуживании.
Будущие усовершенствования: новые YSlow для мобильных дружественный интерфейс
В настоящее время YSlow для мобильных пользователей так же, как над рабочим столом. Работа с длинным списком данных, анализ производительности не самый лучший опыт на небольшой смартфон экранов. С Юй также тезисы разных устройствах жесты , YSlow для мобильных получит новый мобильный и удобный интерфейс в будущих версиях.
Производительность производительности инструмента
YSlow для развертывания мобильных был тщательно изучают его влияние на производительность время загрузки страницы анализируется. YUI 3 модулей используется на YSlow были тщательно изучены, чтобы включать только те модули, необходимые для загрузки YSlow как можно быстрее. Файл YUI семян и погрузчики не были включены , поскольку все необходимые модули и подмодули были объединены после Райан Гроува производительность Zen советов, что позволило загрузить все вместе в одном небольшом один запрос: YSlow-bookmarklet.js: 204KB, 66KB ( GZIP), где:
- Юй: 75KB, 27KB (GZIP)
- YSlow: 129Кб, 39KB (GZIP)
Подробнее о YSlow
Оставайтесь в курсе последних YSlow объявления по:
- Посещение переработан YSlow странице getyslow.com
- Симпатия YSlow на Facebook: facebook.com / getyslow
- После YSlow на Twitter: twitter.com / getyslow
Делите и расширить: закладки с del.icio.us | Digg It! | Reddit!
4 Комментария »
RSS лента комментариев к этой записи. TrackBack URI
Оставить комментарий

Copyright © 2006-2012 компании Yahoo! Inc Все права защищены. Политика конфиденциальности - Условия предоставления услуг
Работает на WordPress на Yahoo! Веб-хостинг .

Это определенно может использовать мобильный стиль сейчас
Комментарий Хуана - 19 июля 2011 #
Хорошие новости Марсель. Продолжайте в том же духе!
Комментарий Эдуарда Лундгрена - 21 июля 2011 #
[...] Next-Gen YSlow питанием от YUI [...]
Pingback от Best Practices для ускорения вашего веб-сайта «Chandara - 25 июля 2011 #
Я не разработчик, но я заинтересован в производительности приложений Ове WAN и Интернет. Я попробовал это в первый раз, и он работал большой для меня. Спасибо за поставив усилия в ...
Комментарий от Cliff Чепмен - 27 июля 2011 #