Backbone.Viewが好きすぎてBrick.jsというライブラリを作った

(2011-05-16: Brick.jsの最新版は"Brick.js updated!"にあります。この当時よりだいぶ実装を変えていますので、あちらのエントリをご参照ください)
 先日、とある案件で試しにbackbone.jsを触ってみたのですが、強制的に処理を分離することになるので、使うだけで自ずとキレイなコードになっていきますね。
 ただ、Backboneそれぞれのクラスのパフォーマンスをフルに発揮するのはかなり難しく、「モデルクラスは必要だけど、こんなCRUD処理まではいらない」とか、「コントローラとは言っても、location.hashいじらないこともあるし」というのが結構あるように感じました。寧ろ、backbone.jsのドンズバなターゲットとなるような案件って、あまりないのでは。。。?あと、「jQueryに依存してない」といいつつBackbone.Syncではちゃっかり$.ajax使ってるし。
 とまあ、backbone.jsは全体的にオーバースペックだなー、という感は否めないのですが、個人的にはBackbone.Viewがお気に入りです。とりあえずViewに絡む処理さえうまく分離できればあとはなんとかなるな、というのが、サーバサイド寄りのプログラマとしての個人的な経験です。なので、Backbone.Viewだけあればいいや、と思い始めたのですが、それだけの為にbackbone.jsをロードするには結構大きいので、Viewだけは、処理の流れは相当参考にしつつ、Brick.jsという名前で一から組むことにしました。

 単体ではunderscore.jsにもjQueryにも依存しておらず、イベント定義部分だけは、css selectorが面倒くさいのでjQueryを使用しています。それさえなければ、完全に独立した環境となってます。
 サンプルは以下の感じです。

 これくらいの大きさであれば、backbone.jsを使うまでもないような大きさの案件でも使えて、かなり実装の見通しがよくなるんじゃないかな、と勝手に思ってます。
 にしても、jsdo.itとはてなダイアリーの連携がなんか今一歩だな。。。