Gruntはなんとなくわかったような気がするし、gulp.jsは注目度が高く誰かがもっと細かく色々解説してくれそうな気がするので、Brunchについて調べている。ちょっとビルド寄りで、Webアプリの環境整備とデプロイという出入口のサポートツールというと近そう。
UberのWebクライアントやDeliciousで使われているらしい。最近のツールらしく名前のググらビリティはなかなかに低い。「HTML5」とかタイトルに使われると胡散臭さが増す。
ビルドツールらしく、更新されたファイルが含まれる場合のみタスクが走る。それも効率的になるようにできるだけキャッシュを使用しようとするのか、変更量の割に速いなとは感じることは多かった。
最大の利点と思われるのが、Bowerでインストールされたコンポーネントへの自動での対応。BowerはBowerとして使った上で、それの読み込み・連結をなんとなくどうにかしてくれる。あまり細かい設定をする必要はなく、せいぜいbower.json
側でoverride
を使って修正してやるくらい。Bowerのコンポーネントには全く手を触れない形で使い、プロダクションではそれらをまとめたものをビルドして使うという運用のみに主眼に置いているのだと思う。
Gruntで同様の機能を提供するためにはレイアウトの修正を行う必要があるのと比べると、シンプルな仕組みで破綻しにくいような気がする。
保守とデバッグにおいて重要なキーであるSource Mapへのほぼ自動での対応がだいたいうまく動いて、ちょっと感動した。個別のツールでの対応は進んでいて現実に使いまくれるけど、こういうビルドツール側でのサポートはあまり見ない。様々なことを行うプラグインのホスト側で明示的にサポートされていると、速やかな環境整備が進みそうで期待できる。
他、スキャフォルディング機能や監視による自動ビルド機能が内蔵されていたり、便利なものは全部あった。依存するとあまり考えなくて済みそう。Made with Brunch的な感じで生きていくならなかなか良い選択肢になりうるとは感じた。