2010年8月17日火曜日

Cena/HTML5でのローカルアプリ開発を考えてみる

開発中のCenaですが、
本命はHTML5のローカルアプリの開発です。
それもIndexed Databaseを使って、ローカル側のDBを使ったアプリです。Cenaを使えば、そういうウェブサイト・アプリが「簡単に」出来るような気がするもので。

と書いておいて、Indexed DatabaseのAPIを読み始めたばかりという状態なので、どれだけ「簡単」なのかは検討もつきません。少なくとも頭の中で考える分には・・・簡単なはず。

現状のクラス構造

今のCenaクラスの動きを図にしました(下図)。


パッと見、簡単です。
Active Record (AR)のクラスをCena Record (CR)が委譲して受けて、そこからHTML要素を出力しています。

が、ARとCRの関係が意外と面倒。
もともとCenaはHTMLなんて(あまり)知りません。
結局ARなりDAOなりが、頑張ってHTMLになる元を作る必要があります。

できたらいいなの理想の構造


そこで、Cenaからの出力は単なるメタデータ(MD)とし、実際のHTML要素とのバインディングはJavaScriptに任せてしまいます。MDとは、つまりスキームやクラス名やらのデータの配列みたいなイメージ。

もし、簡単に、ローカルDBにメタデータを登録できたら。そして簡単に読み出せたとしたら。同じ処理でHTML要素を作成できます。

で、何が便利になるのか?

まぁ実現するのは可能でしょうが、
これにどんなメリットがあるのでしょう?

う~ん、考えられのは、
メタデータとしてCenaをあらわしているので、既存のみならず新規データの管理が簡単、新規と既存のデータも組み合わせられるし。それに複数データ間の関連も表せるし。何でもできるきがします。

サーバーもローカルも同じように開発できそうなところが気にいってます。

0 件のコメント: