Ajaxの起動を高速化するツール「Doloto」、マイクロソフトが発表
マイクロソフトリサーチが、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%程度削減そうです。以下に、マイクロソフトによるテスト結果のグラフを示します。
ネットワークの帯域幅にもよりますが、ダウンロードサイズの削減により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
- Web版Office 2010の対応ブラウザはIE、Safari、Firefox。史上最大のJavaScriptアプリに(動画デモ付き)
- Firebug 1.3 レビュー ~ Webサイト構築に必須のHTML/JavaScriptデバッガ
- JavaScriptデバッガ、開発環境などに使えるツールのまとめ
- JavaScriptの高速化手法とオープンソース同士の競争