Ajaxの起動を高速化するツール「Doloto」、マイクロソフトが発表

2009年9月10日

Doloto - Microsoft Research

マイクロソフトリサーチが、AjaxによるWebアプリケーションを最適化して起動速度を改善するツール「Doloto」をの公開を、9月8日から開始しました。

DolotoのWebページの解説によると、Dolotoとは「Download Time Optimizer」の略であり、またロシア語で「彫る、干渉する」という意味の単語だとのこと。発表されている資料を基にDolotoがどのようなツールなのか、紹介していきましょう。

JavaScriptのロードを最適化するDoloto

最近の大規模なWebアプリケーション、例えばGMailやGoogle MapなどのAjaxで開発されたアプリケーションは、Webページを呼び出した時点で大量のJavaScriptコードをサーバからWebブラウザへとダウンロードするため、起動に時間がかかるようになってきています。

DolotoはこうしたWebアプリケーションを解析し、大規模なJavaScriptを分割します。そしてWebアプリケーションの起動に最低限必要なJavaScriptコードだけを最初にロードし、それ以外の部分を後からバックグラウンドで、もしくはその機能が呼び出された時点でロードするように変更することで、Webアプリケーションを素早く利用できるように最適化してくれます。

マイクロソフトによると、これによってWebアプリケーションの起動時に必要なJavaScriptのダウンロードサイズが平均で50%程度削減そうです。以下に、マイクロソフトによるテスト結果のグラフを示します。

fig 主要なAjaxアプリケーションの起動時にダウンロードされるJavaScriptの大きさを、オリジナルとDolotoで最適化した場合の比較。おおむね半分程度になっている

ネットワークの帯域幅にもよりますが、ダウンロードサイズの削減によりWebアプリケーションの起動時間が20%から40%減少するとしています。

ローカルプロキシとして動作し、プロファイル分析を実行

Dolotoは.NET Framework 3.5ベースで開発されたローカルプロキシとして動作するツールです。Dolotoが動作している環境でWebアプリケーションを動作させると、Dolotoが自動的にプロファイリングを開始します。

プロファイリング情報を基に、Webアプリケーションでロードされ呼び出されたJavaScriptの関数が、役割別にまとめられていくつかの「Cluster」に分類されます。「Cluster」が、ダウンロードされるJavaScriptの新たなまとまりとなります。

プロファイリングが終了すると、最適化したHTMLファイル、JavaScriptファイルなどが、指定したディレクトリに自動的に生成されます。生成されたファイルをWebサーバにアップロードし以前のファイルを置き換えることによって、最適化されたWebアプリケーションを実行することができるようになります(念のため、生成されたファイルのチェックをマイクロソフトは勧めています)。

JavaScriptの読み込みをできるだけ遅らせるテクニックは「Splitting the Initial Payload」と呼ばれており、Ajaxプログラミングのテクニックとして用いられてきました。Dolotoはこのテクニックを自動的に実現してくれるツールです。Ajaxプログラマの方はいちど試してみる価値があるのではないでしょうか。

関連記事 on Publickey

参考記事 on the Web

Tags: JavaScript Web技術 Ajax Microsoft Webブラウザ

このエントリーをはてなブックマークに追加
follow us in feedly




タグクラウド(β版)

クラウド / AWS / Azure / Google Cloud
コンテナ / Docker / Kubernetes
クラウドネイティブ / サーバレス
クラウド障害 / 運用・監視

プログラミング言語 / 開発ツール
JavaScript / Java / .NET / WebAssembly
HTML/CSS / Web標準

アジャイル開発 / スクラム / DevOps / CI/CD
ソフトウェアテスト・品質
ローコード/ノーコード開発

データベース / RDB / NoSQL / 機械学習・AI
Oracle Database / MySQL / PostgreSQL
Office / 業務アプリケーション

ネットワーク / HTTP / QUIC / セキュリティ
OS / Windows / Linux / VMware
ハードウェア / サーバ / ストレージ

業界動向 / 働き方 / 給与・年収
編集後記 / 殿堂入り / おもしろ

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本