グレープシティが提供する「LiveControls(ライブコントロール)」は,今Web開発の分野で急速に注目度が高まっている「Ajax」の非同期通信機能を,Webアプリケーションに実装するためのコントロール製品だ。この製品を活用することで,プログラマーはAjaxをまったく意識することなく,“リッチ&ライブなエクスペリエンス”を実現するWebアプリケーションの開発を容易に行うことができる。
サーバーとクライアントのWebブラウザ間で非同期通信を実現する技術として,Webアプリケーション開発の分野で今大きな注目を集めている「Ajax」。その名称は“Asynchronous JavaScript and XML”の略で,Webブラウザでの表示部分を含めたWebアプリケーションの作成法のことだ。XML形式のデータをJavaScriptで処理することで,WebブラウザのHTTPによるページ遷移とは非同期にサーバーとやり取りをし,「動的に」ページ内容を変更する仕組みを指す。
グレープシティの提供する「LiveControls」は,こうしたAjax機能をVisual Studioで利用可能なASP.NET用のコントロール・セットとして提供するものだ。具体的には,Ajax機能を搭載したラベルやボタン,テキストボックス,リストボックス,チェックボックス,グリッドなどの標準的なユーザー・インターフェースのコントロールが網羅されているほか,LiveControls固有の機能を実現するものを加え,計21個のコントロールが製品に収録されている。
LiveControlsを使用したWebアプリケーションでは,ユーザーによるマウスやキーの操作に即応したコントロールごとの非同期通信が可能だ。ページ上の必要な部分だけを更新するというWindowsアプリケーションのようなインターフェースが実現できるのだ。そのため,ページ全体をリフレッシュする従来のWebアプリケーションに比べ,通信量を最小限にすることができ,ユーザーの操作に対する柔軟性や即時応答性も得られる。しかも,こうしたパフォーマンス上の効果は,ページサイズが大きければ大きいほど顕著なものとなる。
LiveControlsでは,こうしたAjaxの機能を,その提供するコントロールをフォームに貼り付けることで実現できるようになっている。Visual Studioの標準環境においても,非同期通信を実現することは可能だが,それにはプログラマーがJavaScriptを駆使する必要がある。プログラマーは,JavaScriptに関するスキルが要求されるわけだ。
だが,これに対してLiveControlsでは,JavaScriptによる処理を内部的に自動生成することで,Visual Basic .NETやC#のプログラマーは,JavaScriptの知識が無くとも,既得のASP.NETのプログラミングスキルに基づいて,Ajax機能を備えたWebアプリケーションを実現できるのである。
LiveControlsにおける具体的なコーディングのスタイルについては,一般的なWindowsアプリケーションとほぼ同様のものと言ってよい。このとき,より詳細なユーザーの操作を捕捉するため,LiveControlsには独自のイベントがいくつか追加されている。具体的には,“MouseUp”や“MouseDown”,“DoubleClick”といったマウス操作に関するイベントや,キー処理についての“KeyUp”や“KeyDown”,“KeyPress”などのイベント,あるいは“GotFocus”や“LostFocus”といったフォーカスイベントが用意されている。
そのほか,冒頭でも述べたLiveControls固有の機能を実現するコントロールとして,一定のインターバルでイベントを発生させる「LiveTimer」やサウンド・ファイルを再生する「LiveSound」,あるいはほかのコントロールに対してAjaxの機能を提供する「LiveWrapper」などが提供されており,多様な観点からWebアプリケーションの機能拡張を支援している。
なお,LiveControlsが対応するVisual Studioのバージョンは,Visual Studio .NET 2003およびVisual Studio 2005となっている。
以上のようにLiveControlsは,開発においてプログラマーがAjaxを全く意識することはない。そのメリットを活かしながら“リッチ&ライブなエクスペリエンス”を実現したWebアプリケーションを可能にする製品として大いに注目される。

「LiveControls」の仕組み
|



















