Книга: Закас Николас «JavaScript. Оптимизация производительности». Javascript оптимизация производительности закас николас


JavaScript. Оптимизация производительности - Николас Закас

Если вы относитесь к подавляющему большинству веб-разработчиков, то наверняка широко применяете JavaScript для создания интерактивных веб-приложений с малым временем отклика. Проблема состоит в том, что строки с программным кодом на языке JavaScript могут замедлять работу приложений.

Эта книга откроет вам приемы и стратегии, которые помогут в ходе разработки устранить узкие места, влекущие за собой снижение производительности. Вы узнаете, как ускорить выполнение, загрузку, операции с деревом DOM, работу страницы в целом и многое другое.

Николас Закас, программист из компании Yahoo!, специализирующийся на разработке пользовательских интерфейсов веб-приложений, и еще пять экспертов в области использования JavaScript представят оптимальные способы загрузки сценариев и другие приемы программирования, которые помогут вам обеспечить наиболее эффективное и быстрое выполнение программного кода на JavaScript. Вы познакомитесь с наиболее передовыми приемами сборки и развертывания файлов в действующем окружении и с инструментами, которые помогут в поиске проблем.

Книга «JavaScript. Оптимизация производительности» адресована веб-разработчикам со средним и высоким уровнем владения языком JavaScript, желающим повысить производительность интерфейсов веб-приложений.

Когда в 1996 году в Netscape Navigator впервые появилась поддержка JavaScript, производительность еще не имела большого значения. Интернет находился в зачаточном состоянии, и обмен данными происходил очень медленно. Из-за медленных коммутируемых соединений и невысокой вычислительной мощности домашних компьютеров путешествие по Всемирной паутине становилось скорее упражнением на выдержку. Пользователи привыкли ждать загрузки веб-страниц, и когда загрузка успешно завершалась, это воспринималось как праздник.

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

экономить время на обращениях к серверу. Представьте, что вы заполнили длинную форму, отправили ее, ждали ответа 30-60 секунд, и все это только для того, чтобы получить сообщение, что какое-то одно поле заполнено неправильно. Можно смело утверждать, что появление JavaScript сэкономило уйму времени первым пользователям Интернета.

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

Всемирная паутина превратилась из множества слабо связанных друг с другом документов в единое целое с различными интерфейсами и дизайнами. Изменилось все, кроме JavaScript. Инструмент, прежде использовавшийся как средство, позволяющее уменьшить число обращений к серверу, стал применяться все шире. Там, где раньше использовались десятки строк кода на JavaScript, стали применяться сценарии, насчитывающие сотни, а порой и тысячи строк. Появление Internet Explorer 4 и динамического HTML (возможности изменять некоторые аспекты страниц без их перезагрузки) давало уверенность, что объем программного кода на языке JavaScript в страницах со временем будет только расти.

Последним крупным шагом в развитии броузеров было появление объектной модели документа (Document Object Model, DOM), унифицированного подхода к реализации динамического HTML, выполненной в Internet Explorer 5, Netscape 6 и Opera. Реализации этой модели близко соответствовали третьей версии стандарта ЕСМА-262. С появлением броузеров, поддерживающих DOM и (более или менее) одну и ту же версию JavaScript, родилась платформа для веб-приложений. Несмотря на огромный скачок в развитии и обобщенный API, используемый при создании сценариев на языке JavaScript, сами реализации JavaScript, выполняющие эти сценарии, практически не развивались.

Главы в этой книге организованы в соответствии с обычным циклом разработки сценариев на языке JavaScript. Сначала, в главе 1, обсуждаются наиболее оптимальные способы загрузки JavaScript-сценариев в страницы. Главы 2-8 представляют конкретные приемы программирования, которые позволяют максимально увеличить скорость выполнения программного кода. В главе 9 обсуждаются наиболее оптимальные способы создания и развертывания JavaScript-файлов в действующем окружении, а глава 10 охватывает инструменты исследования производительности, способные помочь в поиске проблем, которые могут появиться после развертывания сценариев. Пять из этих глав были написаны другими авторами:

Глава 3 «Работа с деревом DOM», Стоян Стефанов (Stoyan Stefanov)

Глава 5 «Строки и регулярные выражения», Стивен Левитан (Steven Levithan)

Глава 7 «Ajax», Росс Хармс (Ross Harmes)

Глава 9 «Сборка и развертывание высокопроизводительных приложений на JavaScript», Жюльен Лекомте (Julien Lecomte)

Глава 10 «Инструменты», Мэтт Суини (Matt Sweeney)

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

JavaScript. Оптимизация производительности | Николас Закас | ISBN 978-5-93286-213-1 ISBN 978-0-596-80279-0 | Символ Плюс, 2012 год

 

Смотрите также другие материалы:

jQuery. Подробное руководство по продвинутому JavaScript. Второе издание. Бер Бибо, Иегуда Кац.
Веб-Дизайн. Идеи, секреты, советы. Патрик Макнейл.
PHP и jQuery для профессионалов. Джейсон Ленгсторф.

artageless.com

JavaScript. Оптимизация производительности (Николас Закас)

 

содержание   ..  13  14  15 

 

 

 

 

 

YSlow

243

Рис. 10.16. Вкладка Statistics в окне программы Fiddler

Программа Fiddler доступна только для Windows. Следует также

упомянуть условно-бесплатный продукт под названием Charles

Proxy, который может работать и в Windows, и в Mac OS. Получить

пробную версию и ознакомиться с описанием этого продукта можно

YSlow

Инструмент YSlow позволяет получить подробную информацию о вре­

мени загрузки и выполнения сценариев на этапе начального отображе­

ния страницы. Этот инструмент был разработан Стивом Содерсом (Ste­

ve Souders) для внутренних нужд компании Yahoo! как расширение

для Firefox (выполняющееся под управлением расширения GreaseMon­

key). Впоследствии он был сделан общедоступным как дополнение для

Firebug, поддерживается и регулярно обновляется разработчиками из

244

Глава 10. Инструменты

компании Yahoo!. Инструкции по установке и описание продукта мож­

YSlow оценивает время загрузки внешних ресурсов, создает отчет о про­

изводительности и дает рекомендации по увеличению скорости загруз­

ки страницы. Оценки, предоставляемые программой, основываются на

богатом опыте исследований, проводившихся экспертами в области про­

изводительности. Применение этих рекомендаций и знакомство с опы­

том, лежащим в их основе, поможет обеспечить максимально возмож­

ную кажущуюся скорость загрузки страницы за счет сокращения чис­

ла загружаемых ресурсов до необходимого минимума.

На рис. 10.17 изображено, как выглядит в панели YSlow представление

по умолчанию проанализированной веб-страницы. Здесь приводится

список рекомендаций по оптимизации времени загрузки и  отображе­

ния страницы. Каждая рекомендация включает дополнительную ин­

формацию и описание предпосылок.

Рис. 10.17. YSlow: все результаты

В целом, применение рекомендаций позволит ускорить загрузку и вы­

полнение сценариев. На рис. 10.18 показаны рекомендации, отфильтро­

ванные по параметру JAVASCRIPT, где даются советы по оптимизации за­

грузки и выполнения сценариев.

Интерпретируя результаты, имейте в виду, что иногда могут возникать

исключения, которые придется учитывать. Например, может понадо­

биться решить, когда загружать сценарии по отдельности, а когда объ­

единять множество сценариев в один сценарий, и загрузку каких сце­

нариев и функций следует отложить до отображения страницы.

dynaTrace Ajax Edition

245

Рис. 10.18. YSlow: рекомендации по оптимизации JavaScript-сценариев

dynaTrace Ajax Edition

Разработчики dynaTrace, надежного инструмента диагностики произ­

водительности на платформе Java/.NET, выпустили версию «Ajax Ediŧi­

on», которая позволяет выполнять диагностику производительности

в  Inŧernet Explorer (в  ближайшее время ожидается выход версии для

Firefox). Этот свободно распространяемый инструмент позволяет вы­

полнять непрерывный анализ производительности - от сетевых опера­

ций и отображения страницы до выполнения сценариев и использова­

ния центрального процессора. Все аспекты отображаются в едином от­

чете, что позволяет легко отыскать узкие места. Результаты могут экс­

портироваться для дальнейшего изучения и  анализа. Загрузить

Сводный отчет Summary, изображенный на рис.  10.19, дает наглядное

представление, позволяющее быстро определить области, требующие

дополнительного внимания. Из этого отчета можно перейти к  изуче­

нию более узкоспециализированных отчетов за получением более по­

дробных сведений о продолжительности различных этапов.

Отчет Network (Сеть), изображенный на рис. 10.20, содержит весьма по­

дробные сведения о продолжительности каждого этапа сетевой актив­

ности, включая время поиска в DNS, установления соединения и ответа

сервера. Эта информация может подсказать, какие сетевые настройки,

возможно, требуется скорректировать. В  панелях под отчетом отобра­

жаются заголовки запроса и ответа (слева) и фактическое тело ответа

(справа).

Отчет JavaScript Triggers (Выполнение JavaScript) содержит подробную ин­

формацию о каждом событии, возникшем в процессе анализа (рис. 10.21).

Из этого отчета можно перейти к  исследованию конкретных событий

246

Глава 10. Инструменты

(load, click, mouseover и других), чтобы отыскать основную причину низ­

кой производительности.

Рис. 10.19. dynaTrace Ajax Edition: сводный отчет Summary

Этот отчет включает также информацию обо всех динамических (Ajax)

запросах, которые могут генерировать события, и все «обратные вызо­

вы» в сценарии, которые могут производиться по окончании выполне­

ния запросов. Это позволяет лучше понять, из чего складывается об­

щая производительность, что может быть невозможно при профилиро­

вании сценария из-за асинхронной природы Ajax.

dynaTrace Ajax Edition

247

Рис. 10.20. dynaTrace Ajax Edition: отчет Network

Рис. 10.21. dynaTrace Ajax Edition: панель PurePaths

248

Глава 10. Инструменты

В заключение

Когда веб-страницы или приложения начинают выглядеть медлитель­

ными, анализ динамики загрузки ресурсов из сети и профилирование

сценариев во время их выполнения позволит сконцентрировать усилия

по оптимизации там, где это действительно необходимо.

• Используйте инструменты анализа сетевого трафика для выявле­

ния узких мест на этапе загрузки сценариев и других ресурсов; это

поможет определить, загрузку каких сценариев лучше отложить,

а для каких следует выполнить профилирование.

• Хотя опыт подсказывает, что нужно максимально уменьшить коли­

чество HTTP-запросов, тем не менее иногда отложенная загрузка

сценариев может обеспечить более высокую скорость отображения

страницы и  произвести на пользователя более благоприятное впе­

чатление.

• Используйте профилировщики для выявления наиболее медлен­

ных участков сценариев. Исследование времени выполнения каж­

дой функции, количества вызовов функций и самого стека вызовов

позволит определить направления, в которых должны быть сосредо­

точены усилия по оптимизации.

• Наиболее ценной обычно является информация о времени выполне­

ния функций и  о  количестве вызовов, однако внимательное изуче­

ние того, как эти функции вызываются, может натолкнуть на мыс­

ли о других способах оптимизации.

Инструменты, описанные в этой главе, помогают раскрыть тайны в це­

лом не очень дружелюбных окружений, в которых должны выполнять­

ся современные программы. Использование их перед началом оптими­

зации гарантирует, что время будет потрачено на решение истинных

проблем.

sinref.ru

JavaScript. Оптимизация производительности.- Николас Закас

JavaScript. Оптимизация производительности.- Николас Закас

Если вы относитесь к подавляющему большинству веб-разработчиков, то наверняка широко применяете JavaScript для создания интерактивных веб-приложений с малым временем отклика. Проблема состоит в том, что строки с программным кодом на языке JavaScript могут замедлять работу приложений. Эта книга откроет вам приемы и стратегии, которые помогут в ходе разработки устранить узкие места, влекущие за собой снижение производительности. Вы узнаете, как ускорить выполнение, загрузку, операции с деревом DOM,, работу страницы в целом и многое другое.

Николас Закас, программист из компании Yahoo!, специализирующийся на разработке пользовательских интерфейсов веб-приложений, и еще пять экспертов в области использования JavaScript представят оптимальные способы загрузки сценариев и другие приемы программирования, которые помогут вам обеспечить наиболее эффективное и быстрое выполнение программного кода на JavaScript. Вы познакомитесь с наиболее передовыми приемами сборки и развертывания файлов в действующем окружении и с инструментами, которые помогут в поиске проблем.

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

Теги: Javascript, Оптимизация производительности, Николас закас, Компьютерная литература, Программирование

Похожие статьи

Рефакторинг: улучшение существующего кода.-Мартин Фаулер, Кент Бек, Джон Брант, Уильям Апдайк, Дон Робертс

Программист-фанатик.- Чед Фаудлер

Непрерывное развертывание ПО. Автоматизация процессов сборки, тестирования и внедрения новых версий программ - Джез Хамбл, Дэвид Фарли

Zend Framework: разработка веб-приложений на PHP - Викрам Васвани

Секреты JavaScript ниндзя.- Джон Резиг, Беэр Бибо

Экстремальное программирование: планирование.- Кент Бек, Мартин Фаулер

Джоэл: и снова о программировании - Джоэл Спольски

Hadoop в действии.- Чак Лэм

PHP: объекты, шаблоны и методики программирования - Мэтт Зандстра

Программирование микроконтроллерных плат Arduino/Freeduino.- Уилли Соммер

makedev.org

Закас Николас. JavaScript. Оптимизация производительности

Серия: "-"

Если вы относитесь к подавляющему большинству веб-разработчиков, то наверняка широко применяете JavaScript для создания интерактивных веб-приложений с малым временемотклика. Проблема состоит в том, что строки с программным кодом на языке JavaScript могут замедлять работу приложений. Эта книга откроет вам приемы и стратегии, которые помогут в ходе разработки устранить узкие места, влекущие за собой снижение производительности. Вы узнаете, как ускорить выполнение, загрузку, операции с деревом DOM, работу страницы в целом и многое другое. Николас Закас, программист из компании Yahoo!, специализирующийся на разработке пользовательских интерфейсов веб-приложений, и еще пять экспертов в области использования JavaScript представят оптимальные способы загрузки сценариев и другие приемы программирования, которые помогут вам обеспечить наиболее эффективное и быстрое выполнение программного кода на JavaScript. Вы познакомитесь с наиболее передовыми приемами сборки и развертывания файлов в действующем окружении и с инструментами, которые помогут в поиске проблем. Книга адресована веб-разработчикам со средним и высоким уровнем владения языком JavaScript, желающим повысить производительность интерфейсов веб-приложений.

Издательство: "Символ-Плюс" (2013)

ISBN: 978-5-93286-213-1

Другие книги схожей тематики:

АвторКнигаОписаниеГодЦенаТип книги
Закас М.JavaScript. Оптимизация производительностиЕсли вы относитесь к подавляющему большинству веб-разработчиков, то наверняка широко применяете JavaScript для создания интерактивных веб-при-ложений с малым временемотклика. Проблема состоит в том… — Символ+Плюс СПб, (формат: Мягкая бумажная, 256 стр.) Подробнее...2012951бумажная книга
Николас ЗакасJavaScript. Оптимизация производительности. Закас Н.Если вы относитесь к подавляющему большинству веб-разработчиков, то наверняка широко применяете JavaScript для создания интерактивных веб-приложений с малым временемотклика. Проблема состоит в том… — СИМВОЛ-ПЛЮС, (формат: Мягкая бумажная, 256 стр.) Подробнее...20121319бумажная книга

См. также в других словарях:

dic.academic.ru

Николас Закас JavaScript. Оптимизация производительности

alexkyz87 28.02.2018 4 Комментарии

Здесь вы можете прочитать краткую аннотацию к этой книге Николас Закас JavaScript. Оптимизация производительности. Вы узнаете, как ускорить выполнение, загрузку, операции с деревом DOM, работу страницы в целом и многое другое. Проблема состоит в том, что строки с программным кодом на языке JavaScript могут замедлять работу приложений. Если вы относитесь к подавляющему большинству веб-разработчиков, то наверняка широко применяете JavaScript для создания интерактивных веб-приложений с малым временем отклика. Эта книга откроет вам приемы и стратегии, которые помогут в ходе разработки устранить узкие места, влекущие за собой снижение производительности. Николас Закас, программист из компании Yahoo!, специализирующийся на разработке пользовательских интерфейсов веб-приложений, и еще пять экспертов в области использования JavaScript представят оптимальные способы загрузки сценариев и другие приемы программирования, которые помогут вам обеспечить наиболее эффективное и быстрое выполнение программного кода на JavaScript. Книга адресована веб-разработчикам со средним и высоким уровнем владения языком JavaScript, желающим повысить производительность интерфейсов веб-приложений. Вы познакомитесь с наиболее передовыми приемами сборки и развертывания файлов в действующем окружении и с инструментами, которые помогут в поиске проблем. файл Николас Закас JavaScript. Оптимизация производительности опубликовал: alona_gurina.

Подобные файлы

Ким ин Джу Юная королева Джун Т.5

Милан. Карта и путеводитель

Руни Э. Математика за 15 минут

Копусов-Долинин, Алексей Иванович Дорожная шпаргалка водителя: как защитить свои права. 2-е издание

kvk-design.ru

Книга "JavaScript: Оптимизация производительности" (Закас Николас) из жанра JavaScript

JavaScript: Оптимизация производительности

Автор: Закас Николас Жанр: JavaScript Год: 2013 Количество страниц: 256 Формат:  PDF (12.80 МБ) Дата загрузки: 28 марта 20162016-09-10 Скачать
Поделись с друзьями!
 

Аннотация

Если вы относитесь к подавляющему большинству веб-разработчиков, то наверняка широко применяете JavaScript для создания интерактивных веб-приложений с малым временем отклика. Проблема состоит в том, что строки с программным кодом на языке JavaScript могут замедлять работу приложений. Эта книга откроет вам приемы и стратегии, которые помогут в ходе разработки устранить узкие места, влекущие за собой снижение производительности. Вы узнаете, как ускорить выполнение, загрузку, операции с деревом DOM, работу страницы в целом и многое другое. Николас Закас, программист из компании Yahoo!, специализирующийся на разработке пользовательских интерфейсов веб-приложений, и еще пять экспертов в области использования JavaScript представят оптимальные способы загрузки сценариев и другие приемы программирования, которые помогут вам обеспечить наиболее эффективное и быстрое выполнение программного кода на JavaScript. Вы познакомитесь с наиболее передовыми приемами сборки и развертывания файлов в действующем окружении и с инструментами, которые помогут в поиске проблем. Книга адресована веб-разработчикам со средним и высоким уровнем владения языком JavaScript, желающим повысить производительность интерфейсов веб-приложений.

 

Комментарии

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикаци.

literu.ru


Prostoy-Site | Все права защищены © 2018 | Карта сайта