![]() |
Juicer - a CSS and JavaScript packaging tool |
Webページの表示パフォーマンスはWebデベロッパにとって常に最大の関心事だ。ページのロード時間はそのままユーザの満足度に直結する。ファイルサイズは小さく、そしてリクエスト回数は最小であることが望ましい。JavaScriptもCSSもできればファイルは1つづつだけで、なるべく小さい方がいい。
これまでJavaScriptのミニファイアや検証ツール、CSSのミニファイアツールはいくつも登場している。ここではChristian Johansen氏が新しく公開したJuicerに注目したい。Juicer自身はRubyで開発されている。Juicerを利用するにはRuby、RubyGemsが必要なほかYUI CompressorとJava、それにJsLintが必要になる。JavaScriptとCSSのパッキングツールで、コマンドラインで動作する。Juicerで実現する代表的な機能は次のとおり。
- JavaScriptファイルの統合
- JavaScriptファイルの検証 (JsLint使用)
- JavaScriptファイルのミニファイ (YUI Compressor使用)
- CSSファイルの統合
- CSSファイルのミニファイ (YUI Compressor使用)
- キャッシュバスターへの対応
Juicerはベストプラクティスツール(YUI Compressor、JsLint)と統合機能をまとめ上げたパッケージングツールといえる。Juicerと似たような仕組みはEclipseプラグインjsLexなどがある。jsLexはEclipseのプラグインなわけだが、Juicerはコマンドラインツールだ。開発にEclipseを使っていない場合などはJuicerを便利に活用できる。今後の方向性としてAPIドキュメントの自動生成機能やRailsとの統合などが挙げられている。Rails開発を実施している場合には注目しておきたいプロダクトだ。
なおJuicerときわめてよく似たツールにSprocketsがある。こちらもRubyで開発されており、ホスティング元もライセンスも同じだ。今後計画されている機能もよく似ている。ただし実現している機能や方向性に若干の違いもあり、Juicerを検討する場合には同時にSprocketsも調査対象にした方がいいといえる。