Вопросы производительности

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

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

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

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


Например, первоначально можно загружать содержимое только для видимой вкладки в виджете TabContainer, а содержимое для других вкладок загружать по требованию; подождать достаточно продолжительное время, чтобы дать возможность загрузиться остальной части страницы, и только потом загружать содержимое остальных вкладок. Типичным средством отложенной загрузки содержимого является диджит ContentPane.

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

Максимальный объем статического содержимого
Статическое содержимое передается очень быстро, поэтому чем больший объем будет занимать статическое содержимое, тем меньше времени вебсервер будет тратить на ответ. Максимизируйте использование статических файлов HTML, насколько это возможно, заполняя отдельные участки через cookies или посредством запросов XHR. Например, если страница регистрации среди сотен байтов статической информации содержит незначительный объем информации, конкретной для каждого пользователя, создайте статическую страницу и используйте сценарий JavaScript для асинхронного извлечения тех небольших объемов, которые потребуются для заполнения, вместо того, чтобы динамически создавать всю страницу.

Профилирование
Если страница работает медленно или ее производительность меняется после загрузки, воспользуйтесь профилировщиком отладчика Firebug, чтобы выявить участки программного кода JavaSript, на работу которых затрачивается основное время, и подумайте об оптимизации выявленных функций..



Оцените статью: (0 голосов)
0 5 0

Статьи из раздела Dojo на эту тему:
Запуск сборки
Настройка профиля
Настройка профиля (более грамотный вариант)
Платформа тестирования Dojo (DOH)
Преимущества использования сборок XDomain