連載:.NET中心会議議事録

第3回 Visual Studio 2010に本当に乗り換えるべきか?

デジタルアドバンテージ 一色 政彦
2010/09/02
Page1 Page2

 2010年6月19日(土曜日)、ベルサール九段にて、@IT/.NET開発者中心コーナー主催のオフライン・セミナー「第3回 .NET中心会議」が開かれた。

会場の様子

 今回のテーマは「Visual Studio 2010」(以降、VS 2010)。業務アプリケーション開発という視点に立ち、基調講演ではマイクロソフトの新村 剛史 氏がVS 2010の新機能をデモ中心で紹介した。続く、パネル・ディスカッションでは、「VS 2010では何が良くなるのか? それが従来のVisual Studio 2008以前やVisual Basicから移行するほどのものなのか?」という疑問に対して、すでにVS 2010を使い込んでいるパネリストとともに議論した。

  パネル・ディスカッションに参加したのは、下記の5名である(敬称略)。

パネリスト:

マイクロソフト 新村 剛史
ピーデー 川俣 晶
グレープシティ 八巻 雄哉
デジタルアドバンテージ 遠藤 孝信

モデレータ:

デジタルアドバンテージ 一色 政彦

パネル・ディスカッションの風景

 本稿では、このパネル・ディスカッションのほぼ全内容をお伝えする。

一色 VS 2010製品版が、4月20日よりMSDNサブスクラバー向けに公開され、昨日6月18日からパッケージ販売が開始されました。@IT/Insider.NETの記事ランキング上位にはVS 2010関連の記事が並び、VS 2010をテーマとした本セミナーも大入りになりましたので、いよいよVS 2010が盛り上がってきたと感じています。

 しかしながら現実には、多くの人が「いますぐVS 2010に移行できるというわけではなく、いまのところ関心があるだけ」という状況なのではないかと想像します。いますぐVS 2010へ移行すると、どのようなメリットがあるのか? 発売元であるマイクロソフトではない、われわれInsider.NETのような中立なメディアが主催するセミナーだからこそ、これについて技術者の本音で議論できると考えています。

 今回は大きく3つのテーマで議論します。「VS 2010のIDE(統合開発環境)機能」と「.NET Framework 4のライブラリ機能」を分けて、まずはこの2大テーマで議論します。さらに、後者の中でもとりわけ関心が高いと思われるユーザー・エクスペリエンス(UX)の実現手法として、WPF(Windows Presentation Foundation)、Silverlight、いまだに人気のあるWindowsフォーム、これらをどのように使い分ければよいのかを1つのテーマとして抜き出し、より深く議論したいと思います。

VS 2010でのプログラミングにおける開発生産性

一色 まずIDE。VS 2010では大きく変わっています。実際のところ、その使い心地はどうなのでしょうか? それを100点満点で表したら、何点ぐらいでしょうか? その根拠と、どこが気に入っているかを聞かせてください。

新村 (マイクロソフト社員なので)わたしが「100点」といわないと、ひんしゅくですよね。IDEがWPFベースになって操作性が変わったかというと、基本的な操作方法などは変わっていません。画面レイアウトやボタンの配置も変わっていませんし、(ツールバーをやめて)リボン・インターフェイスになったわけでもありませんので。

 ただし、例えばIntelliSenseにはパフォーマンス・チューニングが行われているなど、コーディングの生産性を高めるための細かい機能強化がなされています。VS 2010のIDEは、「おー」とすごく驚く大型の新機能というよりも、「おっ、いいじゃん」というちょっとした良い機能が数多く積み上がって搭載されているバージョンです。あえていえば、VS 2005の段階でも、プログラムを書くためのIDEとしては「完成」の領域にかなり達していました。そこからさらに、使い勝手を向上させる支援機能が積み上がってきたのがVS 2010です。

一色 八巻さんはどうでしょうか?

八巻 「90〜95点」です。VS 2010のベータ1を初めて試したときには、そのパフォーマンスの出来を心配しましたが、製品リリースの前にパフォーマンス・チューニングが行われました。IDEの起動はVS 2008に比べて少し時間がかかるかもしれませんが、起動後はVS 2008と遜色(そんしょく)のないパフォーマンスで使用できます。

 IDE自体の機能を見ても、WPFベースへの移行で手いっぱいで、それほど新機能の追加はないのではと想像していましたが、新村さんがおっしゃったように、細かい新機能がたくさん追加されています。非常に地味な新機能が多いのですが、コーディングの生産性はより高まるという印象を持っています。

一色 わたしもVS 2010をすでにインストールしていますが、確かに「起動は非常に遅い」と感じています。新村さん、実際のところ、どうなのでしょうか?

マイクロソフト
新村 剛史

新村 VS 2005からVS 2008はIDEのシェル自体の変更は行っていませんが、VS 2010のIDEは、ほとんどゼロからスクラッチで作り直しています。つまりVS 2008のように既存のものを継続的にチューニングしてきたバージョンと、VS 2010のように新しくできたバージョンで比較すると、若干遅い可能性は否めないという部分は、正直、あると思います。ですので、今後のバージョン・アップで、さらにチューンアップしていくことになります。

一色 川俣さんはどうですか。

川俣 細かいトラブルがVS 2008に比べて非常に少ないです。ぱっと見た第一印象ではVS 2008と対して変わらないような感じがしますが、実際に使ってみると開発生産性が大きく異なります。点数を付けるとするならば、「90点」ぐらいの高得点です。ただし、やはり若干「重いかな」と感じる部分があるのが減点理由です。

一色 皆さん、VS 2010のIDEを予想外に高く評価されているので、少し驚いています。しかし、VS 2010のIDEには大きな新機能は追加されていないのですよね。では、細かい機能の何がそれほど、VS 2008よりも良いのでしょうか?

八巻 コードを書くという面では、コード・エディタのIntelliSenseはちょっとした進化を遂げています。これまでのIntelliSenseでは前方一致でしか検索できませんでしたが、後方一致や部分一致も検索にヒットするようになっています。この新機能は、わたしにとってはかなり重要です。勘に頼って「たぶんこういう名前だろう」という想像で、目的とするライブラリ機能(メソッドなど)を検索しようとすると、VS 2008では前方一致なのでなかなか見つけられませんでしたが、VS 2010では部分一致もOKなのでヒットする可能性が高まります。

川俣 名前の一部しか思い出せなくても検索できるのは便利ですね。

八巻 これだけでも本当に時間の節約になります。

一色 遠藤さんは使ってみて、「これは役立っている」という機能はありますか?

遠藤 マルチモニタ対応は、非常にうれしい機能です。わたしの場合は、モニタごとに各種ウィンドウを並べています。中央の画面には、コード・エディタとなるウィンドウのみを配置し、そのほかのモニタにそれ以外を置いています。

 VS 2005のころに「もうこれ以上、追加できるIDE機能は残っていないだろう」と思っていましたが、VS 2008、VS 2010と登場し、さらにIDE機能が便利になったのを見て「まだまだIDEで拡張すべき機能は残っているものだな」と感心しています。

一色 VS 2010はテスター向けの機能も拡張されていますよね?

新村 Test Manager(テスト管理ツール)のことですね。VS 2008時代の課題として、「テスターの皆さんがテストした結果、発見した障害やバグの内容をデベロッパーの皆さんに的確に伝えるのは非常に難しい」(つまり、デベロッパーの環境では不具合を再現できない)という、マイクロソフトによる調査結果がありました。それに対する解決策として、テスト時の環境や動作しているプログラムのメモリの状態などを、テスターの皆さんが意識することなく、デベロッパーに通知できる機能を用意しました。

遠藤 Visual Studioでのデバッグ時の履歴機能であるIntelliTraceと同じ仕組みですか?

新村 そうです。テスターの方がテストしているときに、その裏側で履歴情報が収集されます。そのデータをデベロッパーに渡せます。

一色 VS 2010のマルチターゲット機能により、.NET Framework 4を対象としたアプリケーション(以降、アプリ)のみならず、.NET Framework 2.0、3.0、3.5といった従来の実行環境を対象としたアプリも開発できます。それが、VS 2008などの旧来のバージョンから移行する理由となるのでしょうか? 確かに「せっかくなら機能強化された新しいバージョンを使いたい」とほとんどのデベロッパーが考えるでしょうが、実際問題としてVS 2010を購入する費用もバカになりません。上司を説得するのも大変だと思います。何をポイントにVS 2010に移行すべきかを検討すればよいのでしょうか?

新村 これはケース・バイ・ケースになります。特に大きなポイントとなりそうなのは、先ほども話に出てきたテスター向けの機能やCoded UI(=ユーザー・インターフェイスをテストする機能)など、品質を担保しながら開発生産性を高める機能がいくつかあります。こういった機能が皆さんの開発プロジェクトで重要であれば、VS 2010へ移行すべきだと思います。品質にかかるコストを計算して、それがVS 2010のコストよりも高いかどうかなどを検討すれば、上司や会社も説得しやすいと思います。

 ただし、VS 2010は「銀の弾丸」ではありません。VS 2010を導入したからといって、必ず品質が高まるというわけではありません。ですので、皆さんの開発プロジェクトの課題がどこにあり、その解決策がVS 2010にあるのかないのかを判断していただき、あるのであれば、そこを上司に説明すればよいと思います。

一色 ちなみに、わたしがVS 2010で面白いと感じている機能はアドインです。すでに数多くのアドインが公開されています。このアドイン機能は、従来のVS 2008などとは大きく違うのではないでしょうか?

新村 アドインという観点で見ると、MEF(Managed Extension Framework)という新しい仕組みが導入されたおかげで、確かに以前よりも作りやすくなったと思います。しかしながら、これまでもVisual Studioのアドインは世の中にたくさんありました。それらのアドインはどこか1カ所にまとめて探しやすい環境になっていなかったため、多くのアドインの存在がなかなか知られなかったのだと思います。

 今回のVS 2010では、「Visual Studioギャラリー」という形でアドインやツールが1カ所に集められており、VS 2010のIDEから直接ダウンロードしてインストールする仕組みが導入されています。つまり、アドインが増えたというよりも、存在の知られていなかったアドインが可視化されたということです。

グレープシティ
八巻 雄哉

八巻 Visual Studioギャラリーからインストールしたアドインは、アップデートがあると、自動的に「アップデートがあります」という通知がユーザーに表示され、そのアップデートも自動的に行われます。

川俣 ただし、Visual Studioギャラリーはほぼ英語のWebサイトで、日本語がないという弱点がありますね。

新村 一部簡単な日本語化はしていますが、ほとんどのところはまだ手付かずです。

遠藤 Visual Studioギャラリーのアドインで、これは試した方がいいというお勧めはありますか?

八巻 Visual Studio Power Tools(英語)はお勧めです。

新村 有名どころで、コード・エディタを強化できるReSharperはお勧めです。

一色 ところで、ALM(アプリケーション・ライフサイクル・マネジメント)やTeam Foundation Serverに興味のある開発者は少なくないようです。VS 2008のころからすでにALMはサポートされているわけですが、そのころとVS 2010では何が違うのでしょうか?

新村 先ほどのテスト機能が強化されたというのは大きい違いではありますが、最も大きな違いの1つが、Team Foundation ServerをクライアントOSにもインストールできるようになったということです。インストール自体も10分もあれば終わるほど簡単になっています。従来のTeam Foundation Serverであれば、SharePointサービスをインストールしたりなど、かなり手間が掛かっていました。わざわざサーバを立てるほどでもない小さな開発プロジェクトであっても、気軽にTeam Foundation Serverを使用できるようになっています。

 また、ライセンスも変更されていて、従来はMSDNプレミアム・サブスクリプションをお持ちの方はユーザーとして5人まで使えるWorkgroup Editionというのを提供していました。今回のVS 2010のMSDNサブスクリプションをお持ちの方は、フル機能のTeam Foundation Serverを使用できるという形になっています。

八巻 価格的にも安くなったということですね。

遠藤 新しいTeam Foundation Serverは、VS 2005やVS 2008などの古いバージョンからでも利用可能なのでしょうか?

新村 使うことはできます。ただし、想定されているTeam Foundation Serverの機能がVS 2005用やVS 2008用になるので、一部使えない機能が出てきます。


 INDEX
  [連載] .NET中心会議議事録
  第3回 Visual Studio 2010に本当に乗り換えるべきか?
  1.VS 2010でのプログラミングにおける開発生産性
    2.VS 2010で実現するユーザー・エクスペリエンス(UX)

インデックス・ページヘ  「.NET中心会議議事録」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)
- PR -

注目のテーマ

業務アプリInsider 記事ランキング

本日 月間
ソリューションFLASH