はじめに
ASP.NET AJAXの登場によりASP.NETによるAJAX開発が容易になりました。現在ASP.NET開発チームはASP.NETを利用した開発を進める上で更に便利なコントロールを開発し、将来的にリリースしようとしています。これらのコントロールはASP.NET Futures CTPという名称で、実際に利用する事ができます。
本稿では、ASP.NET Futuresで利用可能なXAMLコントロールや、Mediaコントロール、そしてHistoryコントロールの使い方について学習していきたいと思います。XAMLコントロール、MediaコントロールはSilverlightを簡単にWebページに組み込む機能を、Historyコントロールはブラウザの戻るボタンの挙動をサポートする機能を持っています。なお、本稿ではASP.NET Futures CTPを利用します。
対象読者
- ASP.NET 2.0を使ったことがある方
- ASP.NET AJAXを利用している方
- AJAXに興味がある方
- Silverlightに興味がある方
- JavaScriptが使える方
必要な環境と準備
- Visual Studio 2005(以下、VS)もしくは、J#・C++を除くExpress Edition
- ASP.NET AJAX V1.0
- ASP.NET Futures CTP
- Silverlight 1.0 RC
ASP.NET Futures CTPのインストールにはASP.NET 2.0 AJAX Extensionsのインストールが必須です。インストールされていない端末上でASP.NET Futures CTPのインストールを行うとインストールエラーが発生するため、事前にASP.NET 2.0 AJAX Extensionsをインストールする必要があります。ASP.NET 2.0 AJAX Extensionsのインストール方法についてはこちらの記事を参考にしてください。
ASP.NET Futures CTPはASP.NET AJAX公式サイトでダウンロードすることができます。画面上部の[Download]という項目を選択し、[ASP.NET Futures]を選択するとダウンロード画面に遷移しますので[Download]をクリックしてインストーラをダウンロードしてください。インストーラを実行するとウィザードが起動しますので、ウィザードに沿って進めていくことでASP.NET Futures CTPのインストールが完了します。
インストールが完了すると、Visual Studio 2005のWebサイトテンプレートに、以下の3つが追加されます。
- ASP.NET AJAX Futures Web Site
- ASP.NET Futures Web Site
- Dynamic Data Web Site
また、ツールボックスにFuturesのコントロールが追加されます(図2)。Silverlightのインストールについては、Mediaコントロールの説明時に後述します。
ASP.NET Futures CTPとは
ASP.NET Futures CTP(以下、Futures)とは、その名の通りASP.NET上に将来的に実装される技術が詰め込まれた物で、現時点では.NET Framework 2.0を利用して作られています(.NET Framework 3.5がインストールされていなくても利用できます)。ASP.NET AJAXも本来は.NET Framework 3.5に搭載される技術の1つでしたが、1月の時点で先行的にリリースされました。このような前例がある為、FuturesはVS 2008 β2の段階では組み込まれていませんが、ASP.NET AJAXの様にVS 2005やVS 2008のExtensionsとしてリリースされるのではないかと著者は感じています(開発者から具体的な明言はされていません)。
Futuresは大きく分けると以下の5項目からなっています。
- ASP.NET AJAX対応
- 既存のExtensionsの他にHistoryコントロールが追加。
- Microsoft AJAX Libraryで利用されているクライアントクラスの機能拡張。
- ASP.NET AJAXをサーバコントロールやJavaScriptからではなく、XML-Scriptという独自の宣言型スクリプトとして利用可能。
- REST形式で外部のWebサービスを呼び出す場合のブリッジクラスとして利用できるasbxファイル。
- Silverlight対応
- Dynamic Dataコントロール対応
- ASP.NET上での動的言語対応
- ASP.NETアプリケーションサービス
Futuresを利用して実現できるのは上記の5種類がメインです。ただし、このFuturesはあくまでCTPなので正式リリースまでに大規模な変更が起こりうる可能性がある点に注意が必要です。