Microsoft выпустила новый инструмент под названием Doloto, который, как утверждает компания, повышает производительность приложений, написанных с помощью Asynchronous JavaScript и XML (AJAX).
Старший вице-президент подразделения разработчиков Microsoft С. Сомасгар описал в своем блоге преимущества новинки. Касаясь проблем, с которыми обычно сталкивается пользователь, он пишет: “Созданные с помощью AJAX веб-приложения могут существенно разнообразить впечатления пользователей от Интернета, но для этого зачастую требуется загрузить объемистый программный код. В результате появляются приложения, которые загружаются разочаровывающе долго и создают большую нагрузку на веб-серверы”.
На сайте DevLabs сети Microsoft Developer Network (MSDN) корпорация Microsoft выложила Doloto — средство, которое повышает быстродействие веб-страниц, уменьшая объем предварительно загружаемой части сложных веб-приложений, созданных с помощью AJAX. Это самостоятельный клиентский инструмент, сообщил Сомасгар. Его название соответствует русскому слову “долото”, а расшифровывается оно как “оптимизатор времени загрузки” (Download Time Optimizer).
Далее Сомасгар раскрывает принцип действия нового инструмента: “Doloto анализирует созданное с помощью AJAX приложение и автоматически разделяет код имеющихся объемных веб-приложений на части. Он позволяет сначала передать только некоторую часть исполняемого на стороне клиента кода JavaScript, необходимую для инициализации приложения. Остальная часть кода приложения заменяется короткими фрагментами-заглушками; сам же функциональный код медленно загружается в фоновом режиме или по запросу при первом запуске на исполнение. Поскольку код загружается в процессе работы приложения, пользователи могут гораздо быстрее начинать взаимодействие с вашим веб-приложением, не ожидая загрузки кода, который выполняет неиспользуемые в данный момент функции”.
Сначала Doloto создает профиль приложения. Затем эта информация используется для расчета границ кода и выделения в нем фрагментов-кластеров. Кластеры представляют собой загруженные функции, которые сгруппированы в пакеты. Как только будет разработана стратегия кластеризации, Doloto перепишет код JavaScript и сохранит его на диске, после чего разработчики могут перенести его на сервер.
Согласно полученным в Microsoft результатам, рост производительности благодаря Doloto доходит до 40%. Сомасгар поясняет: “В наших экспериментах с целым рядом AJAX-приложений при различных условиях передачи по сети Doloto уменьшал объем предварительно загружаемого кода JavaScript более чем на 40%, в результате чего программы зачастую начинали выполняться на 30—40% быстрее — в зависимости от качества соединения”.