brownie-json-dom.js 動機

サンプルのコードは非常にシンプルなテーブルですが、複雑なもの(例えば種類の違うデータを同じテーブルに無理やり表示させるとか、一部のデータは複数行になるとか)は、DOMを直接操作するのは面倒臭いので、JSON形式で扱いたいなーと思っただけです。これで便利になるかどうかはまだ出来たばっかりなので分かりません。


サーバーサイドでAjaxな機能を持ったJSFのタグとかを使って簡単に動的なページを生成するのは非常に便利だとは思うのですが、それはクライアントとサーバーがどのようなやり取りをするのかがある程度決まってからじゃないと、修正があった場合に非常に面倒くさいことがあります。そういう場合クライアントはクライアント単体でデバッグできるようになっていると直すのも楽になることもあると思います。


最近の僕のプレゼンテーション層の作り方は大体こんな感じなのです。
1.どういう風な動きをしたいのかをまず単一のHTMLのファイルで書いてみる。サーバーとの通信で取得しなければならないデータは、適当なデータを取得するようなモックを作る。

2.ある程度固まったら、javascriptの部分をjsファイルに分ける。逆に言えば最初から分けることを前提に書いている。

3.実際にそのjsをアプリに使う。最初はよく直すことが多い。

4.jsファイルをいちいち使うことを意識したくなくなってきたら、サーバーサイドで簡単に使えるようにする。JSPとかならタグを作る、Tapestryならコンポーネントを作るってことですね。あくまでタグ・コンポーネントはjsファイルを使うだけで、jsファイルの中身は基本的に変更しません。


最初からサーバーサイドのコンポーネントを作っちゃうと、クライアントサイドのテスト(プレゼンテーションの動きだけ確かめたい)が面倒くさいことが多いので、自然とこんな感じになりました。


で、こんな風に作っていると、DOM要素を生成させるロジックをシンプルにしたいなーと思い始めまして、いっそJSON形式で書きたいと思うに至ったわけです。あー、なんかうまく書けないっす。また今度。