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

2009年9月10日はてなブックマーク del.icio.us Twitter
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


次の記事≫ Twitterは企業と顧客をダイレクトに結ぶツールとなる、SalesforceがTwitterに対応
前の記事≪ TechCrunchとInfoQとCNETの共通点

Loading...

お知らせ:Publickeyはドメインを移転しました。新しいURLは、「http://www.publickey1.jp/」となりました。

Blogger in Chief

photo of jniino Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。新しいオンラインメディアの可能性を追求しています。
詳しいプロフィール


Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
RSSリーダーで : Feed
≫ 過去の記事を読む




アーカイブ  (最新記事10)

バックナンバー

2010年3月
2010年2月
2010年1月
2009年12月
2009年11月
2009年10月
2009年9月
2009年8月
2009年7月
2009年6月
2009年5月
2009年4月
2009年3月
2009年2月

Trackbacks (TrackbackURL:http://www.publickey1.jp/mt/mt-tb.cgi/288)

  • (トラックバックは承認後に掲載されます)

Comments