山田 祥寛(やまだ よしひろ)

山田祥寛氏 Microsoft MVP for ASP/ASP .NET。執筆コミュニティ「WINGSプロジェクト」の代表でもある。主な近著に「ASP.NET AJAXプログラミング」(毎日コミュニケーションズ),「PHPライブラリコレクション」「独習シリーズ(ASP.NET・PHP)」「10日でおぼえる入門教室シリーズ(ASP.NET・JSP/サーブレット・PHP・XML)」(以上,翔泳社),「今日からつかえるサンプル集シリーズ(JSP&サーブレット・PHP5・ASP・XML)」(以上,秀和システム),「書き込み式 SQLのドリル」(ソシム)など。最近では,IT関連技術の取材,講演,監修まで広く手がける毎日。

 まず最初に。ASP.NET 3.5はバージョン番号こそ2.0から3.5へと大きく変化しましたが,それ自体としては,実は「比較的小規模な」バージョンアップです。ASP.NET 1.1から2.0へのバージョンアップでは,「マスタページ」や「データソースコントロール」「ログインコントロール」「ナビゲーションコントロール」など,見た目にも華やかで,大幅な機能追加が行われました。2.0から3.5への変更点は大きく以下の2点です。

  • ASP.NET AJAXへの標準対応
  • 新規コントロール(ListView,DataPager,LinqDataSource)の追加

 ASP.NET AJAXについては,ASP.NET 2.0の環境でも拡張モジュールをインストールすれば利用できたことを考えると,ASP.NET 3.5での“純粋な”新機能は,ListView,DataPager,LinqDataSourceだけということになります(もちろん,そのほかにも細かなプロパティやメソッドの追加・変更はありますが)。

 これを聞いてガッカリしかけた皆さん,しかし,心配することはありません。今回のリリースでのより大きな強化点は,むしろ統合開発環境であるVisual Studio 2008(以降,VS 2008)での機能強化にこそあるのですから。

 VS 2008では,ASP.NETアプリケーション開発を効率化するために,次のような様々な機能が追加されました*1

  • JavaScriptサポートの強化(インテリセンス/デバッグ機能)
  • CSS(Cascading Style Sheets)機能の強化(各種管理ウィンドウの追加)
  • 分割ビューの追加(フォームデザイナとコードエディタの並列表示)
  • フォームデザイナが入れ子のマスタページに対応
  • エクステンダウィザードの追加(エクステンダコントロール適用方法の変更)など

 ということで,本稿ではまず,VS 2008の多くの新機能の中でも特に,ASP.NETアプリケーション開発に関係する新機能について紹介していきます。引き続き後半で,ASP.NET 3.5で追加されたコントロールについて具体的なサンプルとともに解説します(ASP.NET AJAXの変更点については,この記事の最後のページのカコミ記事「ASP.NET AJAXの変更点」を参照してください)。

 なお,ASP.NET AJAXについては,ITproの別連載「マイクロソフトのAjax対応フレームワーク「Atlas」入門」で紹介していますので,こちらも併せてご覧ください。

JavaScript開発支援機能を大幅に強化

 スクリプト言語として長い歴史を持つJavaScriptですが,実はJavaScriptに苦手意識を持っている開発者は少なくないようです。その原因の一つとして,JavaScriptという言語の特殊性もあるでしょうが,それ以上にJavaScriptに対応した開発環境が少なかった点を見逃すことはできません。

 例えば,従来のVisual Studio 2005(以降,VS 2005)でも,JavaScriptへの対応はごく限定されたもので,使ったことがある方ならばご存じのように,使い勝手は普通のテキストエディタと大して変わらないものでした。これでは,Visual BasicやC#など,高機能なIDEに慣れた開発者がJavaScriptを敬遠するのも無理ありません。

 しかし,VS 2008ではJavaScriptサポートが大幅に強化されました。昨今のWebアプリケーション開発において,JavaScriptプログラミングはほぼ欠かせない存在であることを考えれば,VS 2008の新機能の中でも最もうれしいポイントの一つではないでしょうか。

型推測に対応したインテリセンス機能

 まずは,インテリセンス機能の強化です。VS 2008のインテリセンス機能では,JavaScriptの型を動的に類推して,対応するメンバーを候補表示できるようになりました(図1)。例えば,変数valueの中身が途中で文字列から数値に変更されても,VS 2008はこれを動的に認識して,現在の型に見合ったメンバー候補を表示してくれるわけです。

図1-1●VS 2008におけるJavaScriptインテリセンス機能
図1-2●VS 2008におけるJavaScriptインテリセンス機能
図1●VS 2008におけるJavaScriptインテリセンス機能。その時どきの文脈に応じて変数の型を類推して,適切なメンバー候補を表示する