Ajaxについての簡単な説明から始まり、Ajaxの問題点、ASP.NET AJAXの開発目標、構成、シナリオ等について聴かせて頂き、デモンストレーションも披露して頂きました。
[ 色々と驚いた ]
今回、ASP.NET AJAXの紹介が主な内容だろうと思っていたので、あえて事前学習のようなことを全く行わずにセッションに参加しました ( いや、ちょっとは知ってたけどさ ) 。おかげで、かなり楽しめました。以下に、今回驚いたり感動した点をいくつか挙げてみます。
・VSUGって「ぶいさぐ」って読むんだ!?
すみません、知らなかったです。「ぶいえすゆーじー」だと思ってました。。。
・サーバー中心の開発モデルで、C/S間でやりとりされるデータ
サーバー中心の開発モデルというのは、「ASP.NET 2.0 AJAX Extensions」をメインに利用した開発モデルで、コーディングのほとんどがC#やVBなどのサーバーサイドコードとなります。場合によってはJavaScriptノンコーディングで行けるそうです。
サーバー中心の開発モデルでは、クライアントからサーバーへの非同期通信時に渡されるデータは、従来のポストバックと同等のデータとなるそうです。そして、サーバーからのレスポンスで渡されるデータは、UIに関するデータと動作の更新に関するJavaScriptコードとなるそうです。
これはAjax的にはオーバーヘッドと言えますね。現に、クライアント中心の開発モデル ( 「Microsoft AJAX Library」をメインに利用した開発モデル ) では、クライアントとサーバーの間で非同期にやりとりされるのは、UIや動作に関する情報を含まない純粋なデータのみとなるそうです ( ユーザーの実装方法にもよりそうだけど ) 。
でもまぁ、きちんとその辺を理解して設計・コーディングすれば、恐らくさほど問題にならないのではないでしょうか ( 少なくとも、従来の単なるポストバック方式よりパフォーマンスが落ちるということはないのでしょう、たぶん ) 。
・ASP.NET 2.0 AJAX Extensionsは、従来のASP.NET 2.0のコントロールと連携して動作する
これ、感動しました。従来のASP.NET 2.0のコントロール ( TextBoxコントロールやLabelコントロールなど ) をそのまま使えるんです。コントロールをUpdatePanelというコントロールにD&DするだけでAjax化するんです。
トリガーとなるコントロール ( ボタン等 ) は、D&DせずにUpdatePanelのTriggerプロパティで指定してやることもできるそうです。
ただ、全てのコントロールに対応しているわけではないので注意が必要です。
[ 質問タイム ]
3つほど質問が挙ってました。 ( 3つ目の質問は私です^^; )
特に興味深かったのは、2つ目の「例外ハンドリングに関して」の質問でした。ただ、この質問は後日VSUGフォーラムで回答ということになったので、楽しみにしてます。
[ 感想 ]
セッションに設けられた時間が1時間ちょいと短かったのが残念ですが、とても有益でした。
個人的には、JavaScript好きなので「Microsoft AJAX Library」も興味深々です。今回のセッションでは触れられませんでしたが、クラス, インターフェイス, 継承なども、Microsoft AJAX Libraryで考慮されているようです。
ただ実際の業務では、手軽にAjax化を実現できる「ASP.NET 2.0 AJAX Extension」の方が多用されそうですね。 ( もちろん、Microsoft AJAX Libraryでなきゃ実現できないこともあるし、ちょっと凝った事をやるにはMicrosoft AJAX Libraryが重要となるでしょう。 )
どちらにせよ、Ajaxによって画面のちらつきが取り除かれるし、従来のポストバック方式では実現できなかった機能 ( 例えばデモでも披露していた、テキスト入力補完機能など ) も実現できるようになるわけで、ASP.NET AJAXにはかなり期待してます。
トラックバックURL↓
http://csharper.blog57.fc2.com/tb.php/83-600f3b5a