basket.jsはローカルストレージにJavaScriptをキャッシュして高速化をはかるソフトウェアです。

Webの高速化を語る上でキャッシュの存在は欠かせません。そこで使ってみたいのがbasket.jsです。何とHTML5のローカルストレージを使ってキャッシュする仕組みを提供します。

[![](http://images.moongift.jp/2013/01/Screenshot 2013-01-21 11.09.31_thumb.1358769689.png)](http://images.moongift.jp/2013/01/Screenshot 2013-01-21 11.09.31.1358769689.png)
最初の実行。underscore.jsなどが読み込まれています。2回目以降は消えます。

[![](http://images.moongift.jp/2013/01/Screenshot 2013-01-21 11.10.39_thumb.1358769694.png)](http://images.moongift.jp/2013/01/Screenshot 2013-01-21 11.10.39.1358769694.png)
でもちゃんとjQueryオブジェクトは存在します。

basket.requireメソッドを使って対象ファイルを読み込みます。有効期限を設定することも可能です。読み込み失敗をハンドリングすることもできます。普段はそのまま利用でき、remove()やclear()でファイルを解除できます。

basket.jsはJavaScript製、MIT Licenseのオープンソース・ソフトウェアです。

MOONGIFTはこう見る

ローカルストレージが使えるのがHTML5に限定されますが、上手に使うことでブラウザキャッシュとは異なる場所を使ってデータを保持できるようになります。GoogleやBingではJavaScriptやスタイルシートをローカルストレージを使って保存しているそうです。それだけパフォーマンスの効果が大きいと見るべきでしょう。

Webサービスを高速化するためには様々な手法があります。ローカルストレージによる効果がどれほど大きいのかは検証が必要ですが、面白い試みであると言えます。他にも様々な施策を通して高速化を試みるべきでしょう。

basket.js - a simple script loader that caches scripts with localStorage

addyosmani/basket.js · GitHub