TL;DR

Clojure の Web フレームワーク Biff の設計思想を説明したページ。制御の反転を最小限にし、分解しやすくし、スコープを絞ることを掲げている。

内容

Biff が生まれた理由

Clojure の Web アプリケーション開発は自由度が高く、Ring や Integrant などのライブラリを組み合わせるのが基本である。Biff はこの組み合わせの手間を減らすために生まれた。主に個人開発者がすばやくプロジェクトを立ち上げ、成長にも対応できる柔軟さを持つことを目指している。小規模なチームでも使えるが、そこには重きを置いていない。

制御の反転を最小限にする

必要なコードはすべてテンプレートの中に置く。プラグインを自動で読み込むようなことはしない。これにより、フレームワークでよく起きる「どう動いているのか分からない」という問題を避けられる。

分解しやすくする

機能をパーツごとに独立させる。開発者は必要に応じてパーツを再利用したり拡張したりできる。

スコープを絞る

個人開発者に最低限必要な機能だけを、デフォルトで提供する。Biff 自体にはなるべくライブラリを足さず、拡張のしかたをドキュメントに書く。使い方が合わなければ、無理に Biff を使わず、最初から別の方法を選んでほしいというスタンスである。

キーワード

関連