ASP.NET AJAX Libraryの登場と強化されたクライアントサイドの技術
ASP.NET 4.0とVS 2010に限った話ではありませんが、ASP.NETの進化の方向性として重要なポイントとなるクライアントサイド技術について紹介します。なお、本項の内容はASP.NET 3.5/2.0でも利用できるので、作成したアプリケーションのパフォーマンスアップのために利用を検討してみてください。
ASP.NET AJAX Library概要
全体像の部分でも触れましたが、ASP.NET 3.5 SP1まで使われていたMicrosoft AJAX LibraryはASP.NET AJAX Libraryへと大きくパワーアップしました。ASP.NET AJAX Libraryは次の特徴を持ちます。
- IE6以降、Chrome 3、Opera 10、Safari 4、Firefox 3/3.5などの最新のWebブラウザとの互換性を持つ
- ASP.NET AJAX Control Toolkitを内包する
- jQueryとの親和性が高く、シームレスにAJAX Control Toolkitのコントロールを利用できる
大きなポイントは1つ。ASP.NET AJAX LibraryはJavaScriptファイルである点です。.NET Frameworkに依存しているわけではないのでWeb Form/Dynamic Data/MVCアプリケーションすべてで利用できるだけでなく、ASP.NET以外のWebアプリケーションにも簡単に利用できます。
魅力的なASP.NET AJAX Libraryですが、現時点では"Beta"である点と、VS 2010には同梱されていない点には留意してください。
Microsoft Ajax Content Delivery Networkの提供
ASP.NET AJAX Libraryは、CDN(Contents Delivery Network)にも対応しています。マイクロソフトが提供するCDNは、アクセスされた際にユーザーのIPアドレスなどから「最も近い」エッジキャッシュサーバー(コンテンツ配信を行うキャッシュサーバー)を選び、リクエストされたスクリプトファイルをクライアントへ返します。
最適化されたネットワークでWebコンテンツを配信できるCDNを使用することで、Webアプリケーションのパフォーマンスの改善が見込めます。正式名称はMicrosoft Ajax Content Delivery Network(Microsoft Ajax CDN)です。
Microsoft Ajax CDNでは、ASP.NET AJAX Libararyの全ファイルの他にjQuery/jQuery Validateといったファイルも提供しています。CDNを利用する際には、ASP.NET AJAX Libraryを別途入手する必要はありません。
ライブラリ | URL例 |
ASP.NET Ajax Library 0911(Beta) | http://ajax.microsoft.com/ajax/beta/0911/start.js |
ASP.NET Ajax Library 0910(Preview6) | http://ajax.microsoft.com/ajax/beta/0910/start.js |
ASP.NET Ajax Library 0909(Preview5) | http://ajax.microsoft.com/ajax/beta/0909/MicrosoftAjax.js |
Microsoft Ajax Library(3.5) | http://ajax.microsoft.com/ajax/3.5/MicrosoftAjax.js |
jQuery 1.3.2 | http://ajax.microsoft.com/ajax/jQuery/jquery-1.3.2.js |
jQuery Validation 1.5.5 | http://ajax.microsoft.com/ajax/mvc/1.0/MicrosoftMvcAjax.js |
各スクリプトファイルの詳細なURLはASP.NET公式ページに記載されていますので、「Microsoft Ajax Content Delivery Network」を参照ください。
なお、各スクリプトファイルは、ajax.microsoft.comドメインでホストされています。実際の記述例は次のとおりです。
<script src="http://ajax.microsoft.com/ajax/beta/0911/Start.js" type="text/javascript"></script> <script src="http://ajax.microsoft.com/ajax/beta/0911/Start.debug.js" type="text/javascript"></script>
肝心のCDNの利用制限ですが、現時点では何もありません。どのような用途であっても無料で利用できますので、ASP.NET開発を行う際は積極的に利用しましょう。
ASP.NET AJAXのキーとなるScriptManagerコントロールは実行時にMicrosoft AJAX Libraryのスクリプトファイルを生成していました。ASP.NET 4.0からはCDNのリソースを活用するためにEnableCdnプロパティが追加されています。
このプロパティをtrueに設定することで、CDNから取得します。
<asp:ScriptManager id="ScriptManager1" runat="server" EnableCdn="true" />
jQueryの統合
マイクロソフトと聞くと、いまだにネガティブな印象をお持ちの方がいるかと思いますが、jQueryというオープンなライブラリを敵対視して排除せず、相互運用性を重視して共存を目指し、実際にjQueryの統合が行われました。マイクロソフトがオープンソースのライブラリを正式に統合し、プロジェクトテンプレートとして組み込まれたのは今回が初めてです(最初に採用されたのはASP.NET MVC)。これからASP.NET開発者はjQueryに関する学習も継続的に行っていくことになるでしょう。