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

Описание

Просмотры: 18
<p> Если вы относитесь к подавляющему большинству веб-разработчиков, то наверняка широко применяете JavaScript для создания интерактивных веб-приложений с малым временем отклика. Проблема состоит в том, что строки с программным кодом на языке JavaScript могут замедлять работу приложений.</p> <p> Эта книга откроет вам приемы и стратегии, которые помогут в ходе разработки устранить узкие места, влекущие за собой снижение производительности. Вы узнаете, как ускорить выполнение, загрузку, операции с деревом DOM, работу страницы в целом и многое другое.</p> <p> Николас Закас, программист из компании Yahoo!, специализирующийся на разработке пользовательских интерфейсов веб-приложений, и еще пять экспертов в области использования JavaScript представят оптимальные способы загрузки сценариев и другие приемы программирования, которые помогут вам обеспечить наиболее эффективное и быстрое выполнение программного кода на JavaScript. Вы познакомитесь с наиболее передовыми приемами сборки и развертывания файлов в действующем окружении и с инструментами, которые помогут в поиске проблем.</p> <p> Книга адресована веб-разработчикам со средним и высоким уровнем владения языком JavaScript, желающим повысить производительность интерфейсов веб-приложений.</p>
ISBN: 978-5-93286-213-1 /
Кол-во страниц: 256 /
Язык издания: Русский /
Издательство: Символ- Плюс

Содержание:

Предисловие 11
1. Загрузка и выполнение 21
Местоположение сценария 22
Группировка сценариев 24
Неблокирующая загрузка сценариев 26
Отложенные сценарии 26
Динамические элементы script 27
Инъекция сценариев с помощью XMLHttpRequest 31
Рекомендуемые способы неблокирующей загрузки 32
В заключение 36
2. Доступ к данным 37
Управление областью видимости 38
Цепочки областей видимости и разрешение идентификаторов 39
Производительность разрешения идентификаторов 41
Увеличение цепочки областей видимости . 44
Динамические области видимости 46
Замыкания, области видимости и память 47
Члены объектов 50
Прототипы 50
Цепочки прототипов 52
Вложенные члены 54
Кэширование значений членов объектов 55
В заключение 57
3. Работа с деревом DOM 58
Модель DOM в мире браузеров 58
Врожденная медлительность 59
Доступ к дереву DOM и его модификация 59
Свойство inner HTML в сравнении с методами DOM 61
Копирование узлов 65
HTML-коллекции 66
Обход дерева DOM 71
Перерисовывание и перекомпоновка 75
Когда происходит перекомпоновка? 75
Буферизация и применение изменений в дереве отображения 76
Уменьшение количества операций перерисовывания и перекомпоновки 78
Кэширование информации о размещении 81
Исключение элементов из потока отображения для внесения изменений 82
IE и :hover 82
Делегирование обработки событий 83
В заключение 85
4. Алгоритмы и управление потоком выполнения 87
Циклы 87
Типы циклов 88
Производительность цикла 89
Итерации на основе функций 94
Условные инструкции 95
Сравнение if-else и switch 95
Оптимизация инструкций if-e lse 97
Поисковые таблицы 99
Рекурсия 101
Ограниченность размера стека вызовов. 101
Шаблоны реализации рекурсии 103
Итерации 104
Мемоизация 105
В заключение 108
5. Строки и регулярные выражения 109
Конкатенация строк 110
Операторы плюс (+) и плюс-равно (+=) 110
Слияние элементов массива 113
String.prototype.concat() 115
Оптимизация регулярных выражений 116
Как работают регулярные выражения 117
Возвраты 118
Исключение возвратов 121
Примечание к измерению производительности 127
Дополнительные пути повышения производительности регулярных выражений 127
Когда не следует использовать регулярные выражения 131
Усечение строк 132
Усечение с применением регулярных выражений 132
Усечение без применения регулярных выражений 135
Смешанное решение 136
В заключение 138
6. Отзывчивые интерфейсы 139
Поток выполнения пользовательского интерфейса браузера 139
Ограничения браузеров 141
Слишком долго - это сколько? 143
Использование таймеров 145
Основы таймеров 145
Точность таймера 148
Обработка массивов с помощью таймеров 148
Деление заданий 150
Хронометраж выполнения программного кода 152
Таймеры и производительность 154
Фоновые потоки выполнения 155
Окружение фонового потока выполнения 155
Взаимодействие с фоновыми потоками выполнения 156
Загрузка внешних файлов 157
Практическое использование 157
В заключение 159
7. Ajax 160
Передача данных 160
Запрос данных 161
Отправка данных 168
Форматы данных 171
XML 171
JSON 175
HTML 179
Нестандартное форматирование 181
Заключительные выводы о форматах данных 184
Рекомендации по повышению производительности Ajax 185
Кэширование данных 185
Известные ограничения библиотек поддержки Ajax 188
В заключение 189
8. Приемы программирования 191
Предотвращение повторной интерпретации 191
Использование литералов объектов/массивов 193
Предотвращение повторного выполнения работы 194
Отложенная загрузка 195
Предварительная условная загрузка 196
Использование сильных сторон 197
Битовые операторы 197
Встроенные методы 200
В заключение 202
9. Сборка и развертывание высокопроизводительных приложений на JavaScript 203
Apache Ant 204
Объединение JavaScript-файлов 205
Предварительная обработка JavaScript-файлов 206
Минификация JavaScript-файлов 209
Сборка в виде отдельного этапа или во время выполнения 211
Сжатие JavaScript-сценариев 211
Кэширование JavaScript-файлов 213
Решение проблем, связанных с кэшированием 214
Использование сети распространения содержимого 215
Развертывание JavaScript-pecypcoв 215
Гибкий процесс сборки JavaScript-файлов 216
В заключение 218
10. Инструменты 219
Профилирование JavaScript-сценариев 220
YUI Profiler 221
Анонимные функции 225
Firebug 226
Панель профилировщика в консоли 227
Прикладной интерфейс консоли 228
Панель Net 229
Инструменты разработчика в Internet Explorer 230
Веб-инспектор в браузере Safari 233
Панель Profiles 233
Панель Resources 236
Инструменты разработчика в Chrome 237
Блокирование сценариями отображения страницы 238
Page Speed 239
Fiddler 241
YSlow 243
dynaTrace Ajax Edition 245
В заключение 248
Алфавитный указатель 249



Акции:


Multfilm

вот такое вот предложение

Акция 1 + 1

Размести рекламу на одном сайте второй получишь БЕСПЛАТНО!!!


Популярные на сегодня



Новости портала


Искусственный интеллект создаст базу древнеславянских текстов

Искусственный интеллект создаст базу древнеславянских текстов


Российские ученые при участии комиссии по работе с вузами и научным сообществом при Епархиальном совете Москвы создадут интерактивную базу древнеславянских текстов с помощью технологий искусственного интеллекта, рассказали РИА Новости в пресс-службе НИТУ "МИСиС".

Всемирный день книги и авторского права, Международный день интеллектуальной собственности и новый раздел портала НББ

Всемирный день книги и авторского права, Международный день интеллектуальной собственности и новый раздел портала НББ


Национальная библиотека Беларуси поздравляет авторов и читателей со Всемирным днем книги и авторского права, Международным днем интеллектуальной собственности, которые отмечаются 23 и 26 апреля.

Электронные ресурсы для дистанционного образования

Электронные ресурсы для дистанционного образования


Учебные пособия, монографии, авторефераты диссертаций, энциклопедии, словари и справочники, специальные периодические издания по общественно-гуманитарным, естественным наукам и медицине в удаленном доступе для читателей Национальной библиотеки открыты в электронно-библиотечной системе «Znanium».