Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ajax_v_deystvii.pdf
Скачиваний:
34
Добавлен:
05.03.2016
Размер:
5.83 Mб
Скачать

344 Часть III Создание профессиональных Ajax-приложений

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

8.5. Резюме

Производительность любой компьютерной программы в основном определяется скоростью ее выполнения и объемом потребляемой памяти. В случае приложения Ajax мы имеем дело со специальной средой, имеющей мало общего с операционной системой и, тем более, с аппаратным обеспечением. Тем не менее, выбирая то или иное программное решение, мы можем существенно влиять на производительность программы.

Мы рассмотрели вопросы профилирования, причем использовали для создания профилей как библиотеки JavaScript, так и встроенные инструменты, например отладчик Venkman. Профилирование позволяет нам выявить узкие места системы, а также определить исходные точки отсчета для оценки влияния вносимых изменений. Сравнивая результаты профилирования до и после модификации кода, мы можем оценить влияние внесенных изменений на работу программы.

Мы также рассмотрели вопросы управления памятью и показали, как можно избежать утечки памяти при работе программы. При этом было уделено внимание как универсальным решениям, так и подходам, ориентированным на конкретные обстоятельства, например, использованию структуры DOM или работе с Internet Explorer.,Вы научились определять объемы памяти, потребляемой приложением, используя для этой цели инструменты, ориентированные на операционные системы Windows и Unix.

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

Работая над повышением производительности программы, никогда нельзя утверждать, что конечная цель достигнута, — на каждом этапе работы остается возможность некоторой оптимизации кода. Поэтому, оптимизируя Ajax-приложение, важно вовремя сказать '"достаточно" и не затрачивать большие усилия на получение скромных результатов. Для того чтобы принять решение об окончании работы по оптимизации, необходима информация о реальной производительности программы. В данной главе были рассмотрены инструменты, способные предоставить эту информацию разработчику.

Глава 8. Производительность приложения 345

8^6. Ресурсы

0 данной главе мы рассмотрели несколько инструментов.

Drip, детектор утечки памяти, разработанный Джоэлом Веббером (Joel Webber) и ориентированный на Internet Explorer. Этот продукт доступен по адресу http://www.outofhanwell.com/ieleak/.

Профилировщик Venkman (http://www.svendtofte.com/code/learning _yenkman/advanced).

Process Explorer (http://www.sysinternals.com).

Официальная информация о проблемах использован ш памяти бра-

узером

Internet Explorer и путях их устранения представлена по ад-

ресу

h t t p : / / m s d n . m i c r o s o f t . c o m / l i b r a r y / d e f a u l t . a s p ? u r l = / l i b r a r y / e n -

us/lETechCol/dnwebgen/ie_leak__patterns .asp. Сведения о решениях, пред- ложенных Ричардом Корнфордом (Richard Cornford), можно получить, осуществив поиск посредством Google Groups. В качестве ключевых слов надо указать cornford j a v a s c r i p t fixCircleRef s () (полный URL слишком длинный, чтобы приводить его здесь).

Часть IV

Ajax в примерах

Х? данной части приводится пять завершенных проектов Ajax, демонстрирующих весь процесс создания неотразимых интерактивных элементов для вашего Web-приложения. В каждом случае мы последовательно разберем код одного примера и покажем, как он работает. Затем реструктуризируем код, чтобы вы могли использовать его в собственных проектах. Предлагаемые примеры охватывают весь спектр действий, доступных при использовании Ajax: от улучшения элементов форм до разработки завершенных порталов, сообщающихся как с вашими серверными процессами, так и со стандартными службами Интернета. При реализации кода серверной стороны мы специально задействовали смесь популярных языков программирования, поэтому в данном разделе вам встретятся PHP, Java, VB.Net и С# . В коде, который можно загрузить с Web-сайта данной книги, представлено несколько реализаций серверного кода, разобранного в данной главе. Не скучайте!

Динамические

Вэтой главе...

Клиентский код JavaScript

Серверный код VB.NET

Формат обмена данными

Реструктуризация для повторного использования

Динамические окна выбора

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]