JavaScript. Оптимизация производительности | Николас Закас
updated 2:30 AM, Jun 1, 2023 UTC

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 для профессионалов. Джейсон Ленгсторф.