米Microsoftが2007年中の出荷を予定している「Visual Studio 2008」(開発コード名:Orcas)は,Windows VistaとWindows Server 2008,Office 2007に対応した統合開発ツールである。当初の予定から1年近く出荷が遅れたVisual Studio 2008の特徴を,米国オーランドで開催中の「TechEd 2007」のセッションを元に確認しよう。

 MicrosoftでVisual Studioの開発を担当するGroup Program ManagerのJay Schmelzer氏は,Visual Studio 2008の機能強化点を,(1)Windows VistaとOffice 2007に最適の開発ツールであること,(2)Webアプリケーション開発機能を強化していること,(3)言語面の強化を加えたこと──の大きく3つに分類する。

「製品版」のVista/Office 2007用開発ツール

 まず忘れてはならないのが,Visual Studio 2008がWindows VistaとOffice 2007に対応した,初めての「製品版」Visual Studioであるという点だ。実は,Windows Vistaのリリースに合わせて登場した「.NET Framework 3.0」用のアプリケーションが開発できる「正式な開発ツール」がこれまで存在しなかったのだ。

 現状では,.NET Framework 3.0用のアプリケーションを開発するには,既存のVisual Studio 2005に「評価版(CTP)」の扱いになっている拡張ツール「Visual Studio 2005 extensions for .NET Framework 3.0 (WCF & WPF), November 2006 CTP」を追加する必要がある。Office 2007も状況は似ており,「Visual Studio 2005 Tools for the 2007 Microsoft Office System」という追加モジュールが必要だ(こちらは正式版ではある)。

 Visual Studio 2008が登場することで,ようやく.NET Framework 3.0に完全に対応した開発ツールが入手できるようになる。ただし,.NET Frameworkのバージョンに関しては少し注意が必要である。というのも,Visual Studio 2008のリリースに合わせて,.NET Frameworkのバージョンも「3.5」に上がっているからだ。

「.NET Framework 3.5」の正体

写真1●ターゲットとなる.NET Frameworkのバージョンを「2.0」「3.0」「3.5」と切り替えて開発できる
 ここで,2005年に登場した.NET Framework 2.0以降の状況を簡単にまとめよう。基本的に,.NET Framework 3.0や3.5は,核であるCLR(Common Language Runtime)は,2.0と同じである。.NET Framework 2.0に「Windows Presentation Foundation(WPF)」や「Windows Communication Foundation(WCF)」を追加したものが.NET Framework 3.0であり,さらにそこに「LINQ」(.NET対応開発言語を使ってリレーショナル・データベースを操作できる技術)などを追加したものが.NET Framework 3.5なのだ。

 TechEdで講演を行うMicrosoftの開発者も「最近の.NET Frameworkのバージョンに,マーケティング的な意味以上のものはない。.NET Frameworkのバージョンは『2.0』で安定している(Stable)」と言い切る。彼によれば「.NET Framework 3.0や3.5は,.NET Framework 2.0の『サービス・パック』みたいなものだ」と言う。

 .NET Framework 3.0/3.5にしか存在しない機能を使っているのであれば,それぞれの.NET Frameworkが必要だ。しかし,そうでなければVisual Studio 2008で開発したアプリケーションは,原則として.NET Framework 2.0があれば動作する。またVisual Studio 2008には,アプリケーションのターゲット(動作環境)を「.NET Framework 2.0用」「.NET Framework 3.0用」「.NET Framework 3.5用」と切り替えて開発する機能も備わっている(写真1)。

「スマート・クライアント」開発を強化

写真2●データベース・サーバーのデータをローカルに同期させるアーキテクチャ
[画像のクリックで拡大表示]
 それではVisual Studio 2008における強化点の(1)「Windows VistaとOffice 2007に最適の開発ツール」という観点で見た,Visual Studio 2008のポイントを見ていこう。Visual Studio担当のProgram ManagerであるScott Morrison氏は「Visual Studio 2008は,『スマート・クライアント』(高機能なアプリケーション)の開発機能を強化している」と強調する。Visual Studio 2008と言うと,Ajaxアプリケーションの開発機能ばかりが注目されがちだが,Webアプリケーションではない「従来型のアプリケーション」の開発も,まだまだ強化しているというのだ。

 例えばVisual Studio 2008では,「SQL Server Compact Edition 3.5」と「SyncAgent」を組み込んだアプリケーションの開発が可能になる。これらは,データベース・サーバーにあるデータを効率的にキャッシュさせるための,クライアント・アプリケーションのコンポーネントになる。「SyncAgent」でサーバー側のデータベースと同期し,データをローカルに存在する“ミニSQL Server”であるSQL Server Compact Edition 3.5に格納する(写真2)。こうすることで,ネットワーク環境がない状況でも,データベース・アプリケーションが利用可能になるわけだ。

 Visual Studio 2008を使うと,アプリケーションの展開も容易になる。既に,前バージョンのVisual Studio 2005から,デスクトップ・アプリケーションをWebアプリケーションのように展開できる「ClickOnce」という仕組みが搭載されている。Visual Studio 2008ではClickOnceを強化して,ClickOnceの対応ブラウザに「Firefox」を追加したほか,ClickOnceで配布したアプリケーションのメンテナンスも容易になったという。

 このほかMicrosoftでは,スマート・クライアント開発強化のために「Acropolis」という開発コード名で呼ばれるツール群の用意も進めている。Acropolisに関しては,TechEd 2007でも他にセッションが予定されているので,「TechEd 2007特番サイト」で続報をお伝えしたい。

JavaScriptにも「インテリセンス」を

 Visual Studio 2008における強化点の(2)である,「Webアプリケーション開発機能の強化」を見ていこう。この分野で注目すべきなのはやはり「ASP.NET AJAX」である。

 サーバー側に配備するJavaScriptライブラリとしての「ASP.NET AJAX」は,2007年1月に,すでに正式版が公開されている。Visual Studio 2008では,Ajaxアプリケーションを開発するうえでの,ツール側の機能が強化されている。例えば,AjaxアプリケーションのJavaScriptを記述する際に,入力支援機能であるインテリセンスが有効になる。またJavaScriptのデバッギング・ツールなども追加される。

 このほかVisual Studio 2008では,HTMLのデザイン・ツールを一新し,CSSのデザインにも対応するなど,単体のデザイン・ツールである「Microsoft Expression Web」並みの機能が搭載されることになった。

SQLのクエリ開発にも「インテリセンス」を

写真3●SQLのクエリを書く際にもインテリセンスが利用可能に
[画像のクリックで拡大表示]
 最後にVisual Studio 2008における強化点の(3)「言語面の強化」を見てみよう。すでに取り上げたように,Visual Studio 2008ではターゲットとなる.NET Frameworkのバージョンを切り替えて開発できる「マルチ・ターゲティング」に対応している。マルチ・ターゲティングを有効にすると,Visual Studioで使うツールボックスやプロジェクト・タイプ,インテリセンスの内容なども切り替わるという。

 またVisual Studio 2008には,.NET対応開発言語を使ってリレーショナル・データベースを操作できる技術「LINQ」も追加される。LINQを簡単に説明すると,.NET対応開発言語で記述したコードの中に,SQLのクエリを埋め込める機能である。Visual Studioの中でSQL文を書くメリットは,写真3のようにインテリセンスが機能する点や,データベースのテーブルをオブジェクト・ブラウザ上で選択できるようになることである。

 MicrosoftのMorrison氏は「Visual Studioのような統合開発環境が登場することで,この10数年間でアプリケーション開発の生産性は劇的に改善されたが,データに関わる部分だけは改善と無縁だった。LINQの登場によって,業務アプリケーションの開発環境が大きく変わるだろう」と強調している。