Visual Studio 2008

Tech・Ed 2007 YokohamaではVisual Studio Team System 2008 Team Suiteの日本語版Beta 2が配布されました。Visual Studio 2008は、.NET Framework 3.5とC# 3.0や Visual Basic 9.0など最新のプログラミング言語に対応した統合開発環境です。Webでも公開されているので、興味のある方はダウンロードして体験することができます。

Visual Studio 2005から提供が開始された無償版のExpress Editionも引き続き提供されることは重要です。Express Editionのベータ版もすでに提供されているため、Visual Studio Team System 2008 Team Suiteをインストールするハードウェア環境がない場合は、Express Edition を検討してみるのもよいでしょう。

Visual Studio 2008 Beta2

Visual Studio 2008では、従来のWindowsフォームに加えて.NET Framework 3.0で追加された WPF アプリケーションやWCFによるサービス、WFによるワークフローの開発にも対応しています。これらの開発は、Visual Studio 2005の拡張アドインをインストールすることでも可能でしたが、Visual Studio 2008は標準対応に加えてさらに洗練された機能を提供します。

C# プロジェクトのテンプレート

例えばWPFアプリケーションは、従来のフォームと同じようにデザイナによるビジュアルな開発が可能になっています。GUIデザインにおいては後述するExpression Studioが専門ですが、コントロールの配置程度であればVisual Studioだけでも十分です。開発者は、使い慣れているVisual Studioで開発し、高度な独自のデザインを利用する場合は、デザイン専門ツールであるExpressionを利用するというシナリオになります。

WPFのデザイナ

インテリセンスなどの開発機能も大幅に強化されています。特にJavaScript(JScript)のインテリセンスが有効になっている点は高く評価できると思います。この機能は、ASP.NETやSilverlightなどのアプリケーション開発以外にも、純粋なJavaScriptエディタとしても期待できます。

JScript のインテリセンス

上の図は、JavaScript用のソースをプロジェクトに追加してArrayオブジェクトをary変数に保存しています。その後、ary変数のメンバを利用しようとすると、自動的にArray オブジェクトのメンバの一覧が表示されます。エディタが、正しくary変数の型を認識できていることが確認できます。

Tech・Ed 2007で行われたテクニカルセッションでは、やはり.NET Framework 3.5の目玉であるWPF、WCF、WFに関連したものが多く、こうした最新のフレームワークを用いた開発を効率よく行えるVisual Studio 2008の利点を訴えていました。

また、C# 3.0、VB9に追加される新しい構文が注目されていますが、その中でも統合言語クエリ LINQは多くの関心を集めていました。

LINQは、データソースを抽象化してデータ操作を可能とする演算機能です。これによって、メモリ上に生成されているオブジェクトの配列でも、データベースでも、同じようにクエリを発行してデータを取り出せるようになり、従来は「繰り返し文」の中で要素を個別に比較して取り出すような処理を1文で解決できるようになります。

Expression Studio

Expression Studioは、プロフェッショナルのデザイナ向けに開発された製品です。Expressionシリーズは、以下の4つの製品に分かれます。

Expression Web Web デザイン向け /td>
Expression Blend アプリケーションの UI デザイン向け
Expression Design ベクターグラフィックス向け
Expression Media デジタル資産管理

Web開発者にとって重要なのはExpression Web、アプリケーション開発者にとって重要なのはExpression Blendとなります。Expression Designは、Adobe Photoshop用のデータなどにも対応する純粋なベクターグラフィックス用の描画ツールですが、XAML(アプリケーションのインタフェースを扱う言語仕様)を扱える点が大きな特徴です。これらの製品によって生み出された多くのデジタル資産を管理するのがExpression Mediaの役割となります。

Tech・Edでは、開発用に利用できるExpression Blendがいくつかのセッションで紹介され、Visual Studioと連携してWPFアプリケーションの開発が可能であることが説明されていました。Expression Blendはビルドツールが標準で含まれているため、デザインしたアプリケーションをその場でビルドして実行することができます。

Expression Blend

もちろん、XAMLコードを直接編集することもできますが、Visual Studioのようなインテリセンス(入力支援機能)が働かないため、あまり開発者向きとは言えません。Expression Blendは、デザイナが利用するツールなので、開発支援機能は限られています。また、Visual Studioはご存じのように様々なアプリケーションを開発できますが、Expression Blendが対象としているのはWPF アプリケーションの開発プロジェクトのみとなります。

Expression BlendのプロジェクトとVisual Studioのプロジェクトに互換性があるため、開発者とデザイナが共同で、異なるツールを使って1つのプロジェクトを共有することができます。数年前から、Microsoftは開発者とデザイナの分業を訴えていましたが、形としてはそれを実現することができるようになったと考えられます。しかし、参加者の中からは「開発者ではないFlash開発を専門としているデザイナにExpressionを使わせてみたが、彼らは使いこなせなかった」という趣旨の意見も出されていました。おそらく、現時点のExpressionを積極的に利用しようと考えるプロフェッショナルのデザイナは少ないだろうと、筆者も考えています。

また、開発者の視点では、デザイナの完全な分業を理想と考えている開発者も少ないだろうというのが、Tech・Edに参加していた開発者数名との会話で感じた感想です。真のユーザー・エクスペリエンス時代を実現するには、Expressionのようなツールを多くのデザイナが利用し、多くの開発者がアプリケーションのデザインを彼らプロフェッショナルのデザイナに任せても安心だと感じられる実績を作る必要があるでしょう。