愛と勇気と缶ビール

ふしぎとぼくらはなにをしたらよいか

Marionette.jsを使ってみている

最近Marionette.jsを使ってみている。

時は未だにJSフレームワーク大戦争時代、なんでMarionetteなんですか?って話なんだけども、

  • 作ってるのが管理画面に毛が生えたようなものなので、別にそんなパフォーマンスとか考えなくていい
  • だから別にReactとか、DOM周りに工夫が入ってるやつじゃなくてよい
  • 深遠な理由によりIE8に対応できるようにしておく必要があった
    • この時点でいくつかのフレームワークは除外される
    • Backbone系列には古いブラウザでも動きそうな謎の安心感がある
  • Angularは個人で使ってみて好きじゃなかったので除外

この辺の理由です。ゴリゴリって訳じゃないんだけど、ちょっとリッチクライアント?的なものだからBackbone + Marionetteくらいの塩梅がええかなー、と。

実際、真面目に使ってみたらBackboneとMarionette、特に前者は老舗だけあって中々良く出来てるなー、と思った。それだけだと何とも出来ない部分は多いけど、「自分はここまではやりまっせ」という線引きは少なくともはっきりしている。

別にこれは比較でも何でもないので、他のは知らんけどな。

フレームワークオタクになる時間もなる気もないので、あんまり最近のナウいやつは追ってないんだけども、今後の流れとして

  • 全体としてコンポーネント(modelとviewとロジックをくっつけて一つのまとまりを作って再利用する、その名前は何でもいいけど)志向になっている
  • それらの通信はevent的な何かで行うことになるのだろう(多分)
    • ここは最終何でもいいんだけど、event的なものが一番おさまりがいい気がしている。単にDOM Eventsが念頭にあるからだけど。

というイメージを持っている。

何らかのフレームワークに乗って気分良く作っていたとしても「Bootstrapのmodalを出さんといかん(ヒエー)」「XHRでPOSTした結果を何らか通知するようなUIがいる(ウヒョー)」みたいな要件は一杯あり、それらを全て気持よくカバーするフレームワークなんてものはおそらく存在しないので、実際の開発ではどうしてもフレームワークからはみ出した書き方をせざるを得ないことが多い。

なので、なんというか、「出来るだけはみ出しすぎないように書きつつ」「まあしょうがないよね、そういうもんだし」という気分でコードを書いている。

フレームワークの上に乗って、気分よく綺麗に書けるのはToDoアプリくらいなもんだ。