なぜSilverlightかというと…

珍しく連続投稿しています。

Silverlightでセルフ盛り上がり(???)の当ブログですが、何故かと言いますと、コンテンツデータとして、バイナリデータではなくてXMLベースのXAMLを使っているからです。

なんか以前の記事で真逆のことを書いているのですが(大汗)、それはそれとして、XAMLの場合もかなりメリットがありまして、Cake等でXAMLを作りだして、動的なコンテンツができる可能性があるのです。
例えば、XAMLでUIのテンプレートを作って、これをCakeに通せば、DBから入手した各個人の情報を反映したUIなどが簡単にできるのです(運用上問題があるかどうかは置いといて)。これがFlashだと、ユーザ情報のXML等を別のリクエストで受け取り、AS内で加工しなければなりませんから、仕組みも複雑になり、手間も増えると思います。こういった使い方なら、テキストベースのコンテンツデータの方がありがたいですね。
Adobeの方も、似たようなことをFlexでやっているようなのですが、ちょっと勉強不足なのでこちらのコメントは控えるとして…

問題なのは、このXAMLの扱いでして…
一応記述はXMLに近いのですが…最初のXML宣言が無いんですよね。JavaScriptのパーサーに通したりすると不具合が起きるとか起きないとか。PHPのXML関連のライブラリに通すとどうなるんでしょうかね。この辺を実験してみないと何とも言えません。

ちなみに、今分かっている時点で最大の敵になりそうなものは2点。一つはクロスドメイン問題、もう一つは、リロードでもXAMLを再取得しない点です。
クロスドメインに関しては、もう諦めるしかないです。Silverlightオブジェクトを作り出す関数内で、XAMLのファイル指定をしているため、JSONPでなんとかする、なんて方法はとれないです。
リロード云々に関しては、動的XAMLにキャッシュ制御(ヘッダにno-cacheを入れる)して回避できそうな気もしますが、試してないのでなんとも。Ajaxの場合、この辺の挙動はどうなるんでしょう?

とりあえず、この2点を克服できると、いろんなことが出来ると思うのです。

あとは…XAMLをサーバに返す方法がなんとかならないかなーと模索中。
例えば、JavaScriptで増やしたオブジェクトをXAMLに書き出してサーバに上げるAjaxなんかできると、これでサービス作れちゃったりするんですけど(笑)。

そんなわけで、当方はいま夢が膨らんでいるのであります。