Silverlight を使っていて思ったこと
Silverlight ってサクサク動く。 かなり高速。
あとJavaScript も、ブラウザの JavaScript エンジン高速化競争のおかげで、どんどん高速化されている。
Flash は作ったことが無いので分らないけど、Yahoo! メールの新 UI を触った感じではまずまず。
これだけ速いなら…
サーバー側でやっている処理を、クライアント側に持って行ってもよさそうだ。
UI ロジックだけじゃなく、ビジネスロジックの一部もクライアント側で実行。
JOIN もクライアント側でやればいい。
サーバー側のお仕事
サーバー側はレスポンスを XML か JSON で返す Web API を提供するだけ。
Google App Engine なら、appengine-rest-server みたいなフレームワークがあればサクッと作れる。
Windows Azure なら WCF Data Services がある。
リッチな UI を提供しようと思ったら、どうせ Web API は作ることになるので、Web API の作成コストは気にしない。
サーバー側のリソース節約になる?
Silverlight や Flash なら、サーバー側で動的に HTML を生成しないので、その分リソース節約になりそうだ。
JavaScript でも、JavaScript 用の HTML テンプレートエンジン使えば、クライアント側で HTML を生成できる。
それに、GAE や Windows Azure ならお金の節約にもなる。
こんな設計もアリかもね
クラウド時代では、こんな設計も選択肢の1つじゃないかな。
サーバー側が .NET 以外の場合、Silverlight なら Visual Studio の恩恵を受けられる範囲が広がる。この妄想はこれが目的。
JavaScript の場合は、実装やテストが大変だけど。