WINGSプロジェクトの山田代表取締役
WINGSプロジェクトの山田代表取締役
[画像のクリックで拡大表示]

 「ASP.NET AJAXやVisual Studio 2008の登場で,サーバー・サイド・アプリケーションの開発も大きく変わろうとしている」――。WINGSプロジェクトの山田 祥寛代表取締役(写真)は,ソフトウエア開発者向けイベントX-over Devlopment Conference 2007で最新の開発動向を話した。

 山田氏は,マイクロソフトのExpression StudioやVisual Studio 2008の登場によって「デザイナとプログラマが,Webアプリケーションを分業開発できるようになる」という。今後のWebアプリケーションの開発で注目するのはAjaxの技術だ。

 すでにGoogle Mapsなど,多くのアプリケーションがAjaxを利用して開発されている。Webページ内の必要な個所のみを更新するので,サーバーが処理している間もクライアントは処理を継続でき,サーバーとクライアント間のトラフィックを抑制できる。

 山田氏は,Ajaxを利用したアプリケーションを開発するうえの課題は三つあると話す。(1)Webブラウザによって仕様が異なるため,JavaScript対応のデファクトの開発環境がないこと。(2)XML DOM(Document Object Model)によるデータの処理は冗長になりがち。(3)クライアント・サイドに裁量がゆだねられるため,セキュリティ問題が発生する可能性がある,といった点だ。

 これらの有力な解決策として,ASP.NET AJAXなどのAjax対応のライブラリやフレームワークの利用が考えられる。ASP.NET AJAXは,Webサーバー側で多くを処理する形態を採る従来のASP.NETを拡張して,より多くの処理をクライアント側で実行するAjaxクライアントの開発を支援するソフトウエア群だ。

 クライアント側で動作するJavaScriptのライブラリ「Microsoft AJAX Library」やASP.NETを拡張するコントロール集「ASP.NET 2.0 AJAX Extensions」,カスタム・コントロールのサンプルや開発キットを収録した「ASP.NET AJAX Control Toolkit」の三つで構成される。

 ASP.NET 2.0 AJAX Extensionsを利用すれば,「JavaScriptについて深い知識がなくても従来型のサーバー・コントロールの配置とプロパティ設定を中心として開発が可能になる」という。また,Microsoft AJAX Libraryを利用することでブラウザ間の互換性を吸収できる。

 ただし山田氏は,「手軽さゆえに犠牲になっているところもある」と話す。例えばAJAX Extensionsコントロールを利用する際,UpdatePanelコントロールを利用すると,Webページの部分的に更新しているつもりが,実はすべてのデータを送信してしまう場合もある。また,Control Toolkitなどに含まれるコントロール集のなかには,Ajaxを使っているわけではなく単にJavaScriptを実行しているだけのコントロールもある,という。「必要なものを見極めて,テストしながら使うことが重要だ」と締めくくった。