Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

ASP.NET AJAX 4.0を予習する(前編)

強化されたASP.NET対応のクライアントAJAXフレームワーク

  • LINEで送る
  • このエントリーをはてなブックマークに追加

 本連載では前後編にわたり、ASP.NETアプリケーションをAJAXで拡張できるフレームワーク「ASP.NET AJAX 4.0」の概要を紹介していきます。前編に当たる今回は、ASP.NET AJAXの振り返りとその問題点、ASP.NET AJAX 4.0の概要、新機能のテンプレートとバインディングについて解説します。

目次

はじめに

 ASP.NET AJAXはASP.NETの開発スタイルをそのままに、ASP.NETアプリケーションをAJAXで拡張することができるフレームワークです。ASP.NETの開発者は、Visual Studioの高い開発生産性の恩恵を受けながら、今まで敷居の高かったAJAXアプリケーションを簡単に開発できるようになりました。

 ASP.NET AJAX 4.0ではJavaScriptのライブラリが強化され、今まで以上に高品質、高性能なAJAXアプリケーションの開発が可能になります。本連載では前後編にわたりASP.NET AJAX 4.0の概要を紹介していきます。

 前編に当たる今回は、ASP.NET AJAXの振り返りとその問題点、ASP.NET AJAX 4.0の概要、新機能のテンプレートとバインディングについて解説します。

 なお、この記事は現在公開中であるVisual Studio 2010 Beta1に含まれるバージョンのASP.NET AJAX 4.0を基に記述しています。将来リリースされるASP.NET AJAX 4.0とは一部仕様の異なる記載がある可能性がありますので注意してください。

対象読者

  • ASP.NET AJAXで開発を行ったことのある人
  • ASP.NET AJAXに興味がある人

ASP.NET AJAX 最新版の入手先

 ASP.NET AJAX 4.0は3つのJavaScriptライブラリから構成されています。

 Visual Studio 2010を利用する場合はASP.NETにあらかじ組み込まれたJavaScriptを利用できますが、ASP.NETのほかのバージョンやASP.NET以外から利用する場合はMicrosoftのオープンソースプロジェクトホストであるCodePlexのウェブページからダウンロードしてJavaScriptの参照設定を行う必要があります。

 Visual Studio 2010 Beta1に含まれるASP.NET AJAXとCodePlexのPreview4の差分をとると細かい部分で異なりますが、大きな機能の違いはありません。

ASP.NET AJAX振り返り

 まずは最新のASP.NET AJAX 4.0に触れる前に、これまでのASP.NET AJAXを振り返っておきましょう。

ASP.NET AJAX

 ASP.NET AJAXはASP.NET 2.0(Visual Studio 2005)の追加機能としてリリースされ、ASP.NET 3.5(Visual Studio 2008)のリリースと合わせてASP.NETに統合されたASP.NETのAJAX拡張機能です。図1にこれまでのASP.NETとASP.NET AJAXのバージョンの対応を示します。

図1 ASP.NETとASP.NET AJAXのバージョン
図1 ASP.NETとASP.NET AJAXのバージョン

 ASP.NET AJAXには次のような特徴があります。

  • ASP.NETのポストバックモデル開発をそのまま利用したAJAX開発
  • Extenderによる既存コントロールの拡張
  • Microsoft AJAX Libraryによるクライアントスクリプトの拡張
  • ASP.NET WebServiceとの簡単な連携
  • ASP.NET AJAX Control ToolkitによるExtenderの提供

 この中でASP.NET AJAX Control Toolkitはオープンソースプロジェクトからの提供となるため、純粋にはASP.NET AJAXの特徴とはいえませんがAJAX開発の際には非常に重要なライブラリ群です。

ASP.NET AJAXはこれらの特徴により既存のASP.NETの開発手法を崩すことなく、ASP.NETのページをAJAXに対応したインタラクティブなものに変更することができました。

 ASP.NET AJAX 4.0でも既存開発のノウハウはそのまま利用できます。ASP.NET AJAXの以前のバージョンについての詳しい内容については次の記事を参照してください。

もうひとつのJavaScriptライブラリ

 ASP.NET AJAXのクライアントライブラリであるMicrosoft AJAX Libraryは、ASP.NETのサーバーサイドAJAXと効率よく通信を行う機能を持ち、クロスブラウザ対応のきわめて単純なDOM操作を行うための軽量なJavaScriptライブラリです。

 後述するテンプレートやバインディングは強力ですが、現在のMicrosoft AJAX LibraryだけでクライアントサイドのAJAX対応ページのコーディングをするには、少々力不足が否めません。

 ASP.NET 3.5 SP1以降ではこの欠点を補うために、UI要素の操作を得意とするオープンソースのJavaScriptライブラリである「jQuery」のサポートが正式に追加されました。

 ASP.NETのjQueryサポートに関しては、次の記事を参照してください。

UpdatePanelを利用した開発の注意点

 UpdatePanelコントロールが提供するASP.NETの拡張はきわめて簡単でパワフルなものですが、送受信されるデータの観点で注意が必要です。たとえば住所録の登録などで、郵便番号を基に住所を検索する画面があったとします。

 UpdatePanelを利用した開発では図2のように、検索に必要な郵便番号の他にページに配置されたすべてのフォームの値やViewStateといったデータを送信し、描画対象の部分的な表示用HTMLとViewStateを受信しているため、非効率なやりとりを行っています。

図2 UpdatePanelによるAJAXの処理順序
図2 UpdatePanelによるAJAXの処理順序

 このようにUpdatePanelを利用した開発は、ブラウザの要求をサーバー側で非同期に処理し、ビジネスロジックや表示用HTMLといった結果を返す「サーバーサイドのAJAX」ということができます。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 山田 祥寛(ヤマダ ヨシヒロ)

    静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for ASP/ASP.NET。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「入門シリーズ(サーバサイドAjax/XMLD...

  • WINGSプロジェクト かるあ (杉山 洋一)(カルア(スギヤマ ヨウイチ))

    <WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2012年2月時点での登録メンバは37名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂き...

バックナンバー

連載:ASP.NET AJAX 4.0 プレビュー
All contents copyright © 2006-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5