【コラム】
Ajaxの普及により、WebアプリケーションでJavaScriptが積極的に活用されるようになって久しい。しかし、JavaScriptを多用するWebアプリケーションでは大量のJavaScriptを読み込む必要があるため、起動に時間がかかるという問題がある。
MicrosoftのDevLabsで提供されているDolotoはAjaxアプリケーションにおいて利用される大量のJavaScriptを自動的に分割し、必要に応じて遅延ロードするよう変更してくれるツールだ。
Dolotoはプロキシサーバとして動作し、Dolotoのプロキシサーバ経由でAjaxアプリケーションを動作させることでプロファイルが取得される。Dolotoはこのプロファイルを参考にJavaScriptを分割し、遅延ロードするようアプリケーションに変更を加える。
なお、Dolotoの利用には.NET Framework 3.5が必要となる。
Dolotoのインストールはダウンロードしたインストーラを実行するだけなので非常に簡単だ。
起動すると図1のようなダイアログが表示され、Dolotoのプロキシ設定や変更後のアプリケーションを出力するディレクトリなどを指定する。設定後に[Profile]ボタンをクリックするとプロキシサーバが起動し、プロファイルが開始される。デフォルトではlocalhost:8888でプロキシが稼働するのでブラウザの設定を変更し、このプロキシを利用するよう設定した状態でWebアプリケーションの操作を行おう。
プロファイルを終了するには[Next]ボタンをクリックすればよい。任意のプロファイル名を入力すると、出力フォルダ/stats_プロファイル名/にプロファイルデータが出力され、図2のようにプロファイル結果を確認することができる。
続いてプロファイル結果に基づいてJavaScriptのリライトを行う。Dolotoはクラスタという単位にグループ化され、そのクラスタが必要になったタイミングでダウンロードされるようJavaScriptコードをリライトすることでアプリケーションの最適化を行う。以下の画面で[Cluster file name]欄にプロファイル結果からclusters_xxxx.txtというファイルを選択して[Rewrite]をクリックしよう。
設定した出力フォルダ(デフォルトでは出力フォルダ/stats_プロファイル名/Rewritten/xxxx/)に変更後のJavaScriptファイルが出力される。
これらのファイルのうち、sc_xxxxx.jsというJavaScriptファイルがクラスタ化されたJavaScriptコードだ。他のJavaScriptファイルは必要に応じてこれらのクラスタをダウンロードするようDolotoによって変更が加えられている。これらのファイルを元のアプリケーションの代わりにサーバにアップロードすればよい。
以上のようにDolotoは非常に手軽にJavaScriptを多用したアプリケーションの最適化を行うことができる。Microsoft Researchのページによると、Dolotoを使用することで、アプリケーション起動時に読み込む必要のあるファイルのサイズを最大50%に削減できるとのことだ。Dolotoの効果の大きさがわかるだろう。
JavaScriptを多用したWebアプリケーションでは起動時間の遅さが問題になりがちだ。アプリケーションの規模が大きくなればなるほどこの問題は顕著になる。アプリケーション側で遅延ロードを行う仕組みを作り込むケースもあるが、あとから対処しようとすると非常に手間がかかることが多い。Dolotoを利用すれば既存のアプリケーションに手を加えることなく起動速度を高速化できる可能性がある。要チェックのプロダクトと言えそうだ。
ただし、Microsoft DevLabsのプロダクトはMicrosoftの開発部門が取り組んでいる試験的なソフトウェアを公開する場という位置付けであり、DolotoもMicrosoftの正式な製品というわけではない点には注意されたい。
| マイナビ、3月より書籍連動型のクリエイティブ・デザイン系セミナー開講 [12:00 2/10] |
| Linux Mint 12 KDE登場 [10:26 2/10] |
| Dell、重複排除により最大98%のデータ削減が可能なバックアップストレージを発売 [09:44 2/10] |
| 北大、「ポジトロン断層撮影法」による脳腫瘍の性質を診断する手法を開発 [09:40 2/10] |
| NICTなど、手術支援ロボット「da Vinci」の3D裸眼映像伝送実証実験を計画 [09:36 2/10] |
|
ストーム、BTOもできるLinux PC「Storm Power Speed Mini LS Linux Edition」 [14:40 2/10] パソコン |
|
富士通、王子製紙グループにクラウドベースのIFRS対応会計システム導入 [14:39 2/10] 経営 |
|
NECと米CA、スマホ/タブレットにも対応した認証クラウドサービスを提供 [14:32 2/10] 経営 |
|
ストーム、4画面マルチモニター出力対応のQuadro NVS 450搭載のデスクトップPC [14:32 2/10] パソコン |
|
東芝、世界最軽量のUltrabook新モデル「dynabook R631/28E」 [14:25 2/10] パソコン |