はじめに
昨今のリッチクライアントブームにより、多くのAJAXフレームワークが登場してきました。例えば、Javaユーザー向けの「Google Web Toolkit(GWT)」(グーグル)、Webデザイナー向けの「Spry Framework for AJAX」(アドビシステムズ)などが挙げられます。そして、.NETユーザー向けにリリースされたのが「ASP.NET AJAX」(コードネーム:Atlas)です。他のAJAXフレームワークとは違い、既存資産であるASP.NETとの完全な統合や .NETならではの開発効率性の高さなど、多くの特徴を備えた完成されたフレームワークです。
後編である本稿では、リッチクライアント分野で高い開発力を持つインフラジスティックスが、ASP.NET AJAXのアーキテクチャや、コアとなるASP.NET AJAX Extensions 1.0の使用方法を紹介します。「AJAX」や「ASP.NET AJAX」についての基礎知識については、前編を参照してください。
対象読者
本稿は、次のような方を対象としています。
- HTTP、ASP.NET、JSPなどのWeb技術を使用して開発したことがある方
- AJAXやASP.NET AJAXについて興味がある方
必要な環境と準備
- Visual Web Developer 2005 Express Edition、もしくはVisual Studio 2005
- ASP.NET AJAX Extensions 1.0
ASP.NET AJAXをインストールするには、マイクロソフトのASP.NET AJAXサイトで [Download] アイコンをクリックすると、[ASP.NET AJAX Downloads] ページが表示されるので、[Download ASP.NET Extensions v1.0] ボタンをクリックしてファイルをダウンロードします(図1)。
ローカルディスクに「ASPAJAXExtSetup.msi」ファイルを保存したら、ダブルクリックし、ダイアログの指示に従ってインストールします。
「ASP.NET AJAX 1.0」は、デフォルトでは「C:\Program Files\Microsoft\ASP.NET\ASP.NET 2.0 AJAX Extensions」フォルダにインストールされます。
ASP.NET AJAXとは
ASP.NET AJAXは、マイクロソフトによって開発されたASP.NET 2.0用のAJAX拡張フレームワークであり、AJAXスタイルのブラウザアプリケーション開発の生産性を最大限にまで高めるためのプラットフォームです(図2)。
ASP.NET AJAXには次のような特徴があります。
- 完全なクロスブラウザとクロスプラットフォーム
- よりスムーズなユーザー体験のための非同期アクセス
- より良いユーザーインターフェイスとカスタマイズのためのAJAXコントロール
- Webサービスへのアクセスが容易
- Visual Studioでの開発やデバッグが可能
- WindowsやOfficeへの直接アクセスを可能にするAPIを公開
AJAXの短所であったクロスブラウザの解消や、JavaScriptでのコーディングが必要であった非同期アクセスや各処理に対するコントロールを豊富に提供しているため、JavaScriptを使用せずに(さらにはコーディングなしに)、容易にAJAXアプリケーションを開発できます。さらにVisual Studio上で開発やデバッグが行える点もAJAXを扱う上で大きなメリットとなります。
ASP.NET AJAXには以下の技術が含まれています。
- ASP.NET 2.0 AJAX Extensions
- Microsoft AJAX Library
- ASP.NET AJAX Control Toolkit
- ASP.NET Features
ASP.NET AJAXでの開発
ASP.NET AJAXは開発時は「Atlas」と呼ばれ、サーバコントロールも<atlas:>となっていたのですが、正式リリースされた際に「ASP.NET AJAX」となり、サーバコントロールも<asp:>となりました。これが何を意味するかと言うと、ASP.NET AJAXはASP.NETと異なるアーキテクチャではなく、ASP.NETの一部のテクノロジーとして定義されたということになります。現に、.NET Framework 3.5では標準的に含まれる予定です(2006年6月18日現在)。
ASP.NET AJAXの最終的な目的は、「ASP.NET Webアプリケーションを簡単に強化」することであり、それらを実現することで以下のメリットが生まれました。
- AJAX技術の使用による通信負荷の軽減
- 既存のASP.NETコントロールをAJAXに拡張可能
- ASP.NET AJAXクライアントコントロールのためのサーバラッパー
- JavaScriptや非同期プログラミング習得の必要性を回避
ASP.NET AJAXを使用した開発の場合、サーバサイドのASP.NET 2.0 AJAX ExtensionsとASP.NET Control Toolkit、クライアントサイドのMicrosoft AJAX Libraryによって、ASP.NETの適用範囲がクライアントサイドまで拡大することになります(図3)。これは、ASP.NETにおけるUI開発がより柔軟になったということを意味し、さらなるユーザー体験の向上を実現します。
サーバコントロール
コアとなるASP.NET 2.0 Extensionsには、それぞれ以下のコントロールが存在します(図4)。
- ScriptManager
- ScriptManagerProxy
- UpdatePanel
- UpdateProgress
- Timer
次からは、各コントロールを一部サンプルも交えて紹介したいと思います。