特別企画
オンラインソフト作者からみた「Visual Studio 2010 Professional」の魅力
新しい開発環境で新しいアプリケーションを作ろう
昨年、窓の杜では日本マイクロソフト(株)(当時はマイクロソフト(株))の協力を得て、窓の杜ライブラリにソフトが収録されているオンラインソフト作者を対象に、新しい統合開発環境「Visual Studio 2010」(以下、VS2010)を体験してもらおうという企画を行った。本企画に参加したオンラインソフト作者には「Visual Studio 2010 Professional」が無償で提供され、多くのオンラインソフトが最新の開発環境で生まれ変わっている。
また本企画では、多くのオンラインソフト作者からVS2010に対する感想を得ることができた。本特別企画では、それらのフィードバックをもとに「Visual Studio 2010」の魅力や注意すべき点をまとめている。実際に利用している開発者ならではの興味深い感想が数多く寄せられているので、VS2010への移行を検討しているが、移行のメリットがいまいち実感できない、VS2010に興味はあるが実際に使ったことがないといった開発者はぜひ参考にしてほしい。
「Visual Studio」とは?
「Visual Studio」は、Microsoft製の統合開発環境。C/C++/C#/Visual Basicといった言語を利用可能で、デスクトップアプリケーションのほか、ASP.net/PHP/JavaScriptを利用したWebアプリケーションも作成できる。
「Visual Studio」ではWin32ネイティブなアプリケーションも作成可能だが、やはり生産性が高いのはフレームワーク“.NET Framework”を利用した開発だろう。.NET Framework 2.0/3.0/3.5/4に対応しており、古いバージョンの.NET Frameworkを利用した開発も行える。
また、Xbox向けのゲーム開発が行える“XNA Framework”や、Webブラウザーでリッチコンテンツを実行できる“Silverlight”を利用したアプリケーションも開発可能。“XNA Framework”“Silverlight”は次世代モバイルプラットフォーム“Windows Phone 7”でも利用されている。デスクトップアプリからモバイル・Webアプリまでの幅広い分野をカバーする開発環境が「Visual Studio」なのだ。
ユーザーインターフェイス技術に“WPF”を採用
VS2010を利用して真っ先に気づく変更点は、ユーザーインターフェイスに“WPF(Windows Presentation Foundation)”が利用されていることだろう。
たとえば、ソースコードエディター部分もWPFで作成されており、[Ctrl]キーとマウスホイールのスクロールを組み合わせて表示を拡大・縮小可能になった。また、デザイン画面やソースコードエディターを自由に分離できるようになったのもうれしい変更点だ。自由に画面を配置して作業領域を広くとれるので便利。起動時に表示される“スタートページ”の機能性も評価が高かった。
デュアルディスプレイ環境では、コードビューも別のディスプレイに配置できるため、開発中クラスのヘッダファイルを配置すればいつでも確認できるようになり開発効率の改善につながりました。
ひよひよ 氏(「CrystalDiskInfo」)
なお、動作速度については早くなったという声が多かった。その一方で、不満の声を寄せる開発者もみられる。
VS2010では要求スペックが上がっているので、スペックが低めのPCを利用している場合は動作が重く感じられるかもしれない。しかし、ある程度以上のスペックを満たしていれば、各種機能がチューニングされたことによる恩恵を実感できるシーンが多くなるようだ。とくに“IntelliSense”機能など、日常的に接する機能の改善による影響は大きいだろう。
Visual Studio 2010はVisual Studio 2008や2005(そして2010のβ2版)と比べても起動速度が非常に速いようです。最初は私の環境がSSDに代わったからかな?と思っていたのですが、会社のXP時代のPCにインストールしても早く動いているので、相当に軽くなっているみたいです。
SHIN-ICHI 氏(「ファイルの種類に関連づけられたアイコンを変更」)
苦言を呈すると、Visual Studio 2010になって開発環境にそれなりのスペックのPCを求められることでしょうか。現在開発に使用しているPCは、プロセッサの速度がMicrosoftの指定する最低限のスペックとなっています。そのため、IDEの動作がもっさり重めです。Visual Studio 2005の頃はそれほどでもなかったのですが……。
GSK 氏(「.NET R-Tune」)
より賢くなった“IntelliSense”、デバッグ機能も強化
“IntelliSense”機能とは、ソースコードを記述する際に変数、関数、オブジェクトやそのメンバーなどの名前を入力補完してくれる機能で、コーディング面での「Visual Studio」の目玉とも言える機能だ。慣れれば極めて少ないキーストロークでソースコードを記述可能で、『ソースコードのほとんどは、自分ではなく“IntelliSense”が記述している』というプラグラマーもいるほどだ。
VS2010ではこの“IntelliSense”機能がさらに強化されており、完全な前方一致でなくても、命名規約や省略を考慮して補完候補を探し出せるようになっている。たとえば“textBoxUserName”というオブジェクト名を自動補完したい場合、接頭語の“textBox”などを省略して“User”と入力しても、“textBoxUserName”を補完候補として表示できる。名前の一部しか思い出せない場合でも安心だ。
“新しい機能の中で便利で気に入っているのは、インテリセンスのキーワード候補表示が、途中の文字列にもヒットするところです。変数名やメソッド名の一部だけ思い出せればすぐに見つけ出せるのは大変便利で有効に使わせてもらっています。”
YO1 KOMORI 氏 (「Heloli's Gems Screensaver」)
また、デバッグ機能も大幅に強化され、特定の変数を画面上にピン留めしてデバッグ時に値を監視可能になるなどの改良が施された。さらに、最上位版では“IntelliTrace”という強力なデバッグ機能や、ユーザーインターフェイスやロジックのテストを管理・実行できる機能などが搭載されている。
デバッグ中に変数をピン止めで常に表示できるようになっています。ちょっとした工夫かもしれませんが、これを使い出したらもう旧バージョンに戻れなくなりそうです。
Naru 氏 (「Flexible Renamer」)
C/C++開発関連の機能拡張
また、これまで“IntelliSense”はC/C++での開発を苦手としていたが、ソースコードを解析した情報をSQLデータベースへ格納することで、ソースファイルの参照中や編集中でもタイプミスや構文エラーを検出可能になったほか、独自に定義したクラスや関数をも自動補完候補として表示できるようになるなどの改善が施されている。
Visual Studio 2010になって単語補完機能(Intellisense)がよりきびきびと動くようになっています。とくにVisual C++での補完性能向上はめざましく、旧バージョンでは、文法解析の問題上からか、検索結果に出なかった独自のクラスや関数も候補として表示されます。
(株)ディークライム(「新聞写真製造機」)
これまではVisual C++ 2003を使用していました。まず気づいたのはタイプミス等がリアルタイムでエラー表示されることです。このチェックはテンプレートを使用した場合にも行われ、ネストしたテンプレートでも正しく表示されました。C++のコンパイルには時間がかかるので、つまらないコンパイルエラーで時間を無駄にすることが減りそうです。
Group Finity Yuki 氏(「万華鏡」)
そのほか、C/C++を利用する開発者から評価が高かったのは、“MFC クラス ウィザード”の復活だ。開発効率に大きく貢献するとの声が多く聞かれた。そのほかにも、Windows シェルとの統合が強化されており、アプリケーションへファイルのプレビューや縮小表示、検索といった機能をシームレスに組み込めるようになっている。
また、ファイルやシンボルを検索する際に役立つ“Navigate To(移動)”機能が追加されたほか、C++プロジェクトをビルドする際にC#/VBでも利用されている新しいビルドシステム「MSBuild」が利用されるようになったのも大きな改善点と言える。
「Print Album」はVC++/MFC製なので、Visual Studio 2010でも同様にVC++/MFCを利用しています。マネージアプリケーションの開発を促し、一時はVC++/MFC等の存続が危ぶまれていたようですが、今後も引き続き強化される方向にあるとの情報。VC++好きとしては嬉しい限りです。
K2000 氏(「Print Album」)
ただし一方で、MFCをスタティック(静的)リンクしてビルドすると、実行ファイルのサイズが大きくなる点を懸念する声もあった。
MFCをスタティックリンクしてビルドすると、MFCの新機能を使っていないにも拘らず実行ファイルのサイズが以前の5倍ぐらいに膨れ上がってしまう。
トキワ個別教育研究所(「PartitionRecovery」)
高機能になったMFCを包含しているせいなのかもしれませんが、オンラインで配布するにはなかなか辛いものがあります。今時のネット環境やPC環境では、これくらいの事は大したことが無いのかもしれませんが……
新山(へろぱ) 氏(「UnAceV2J.DLL」)
自分好みの「Visual Studio」へカスタマイズできる拡張機能
また、VS2010の新機能として“拡張機能マネージャ”を利用して自分好みに「Visual Studio」を拡張できるようになったことも挙げられる。拡張機能には開発に役立つ実用的なものから、単に見栄えをカスタマイズして気分を変えられるだけのものまで、実にさまざまなものが用意されている。窓の杜でも、そのいくつかをレビューしているので、ぜひ参考にしてほしい。
(拡張機能マネージャを利用すると)ネットワーク経由でさまざまなツールが入手できるようになっており、簡単に拡張機能を使用できるようになっていて、便利です。いくつか入手して使ってみたくらいですが、たくさんあるので他にも見てみようと思います。
Naru 氏(「Flexible Renamer」)
ただし、アドイン機能が制限されている無償版「Visual Studio Express」では利用できない場合があるので注意してほしい。
スムーズな移行を可能にする“Visual Studio 変換ウィザード”
このような新機能は魅力的だが、これまで開発した膨大な資産がそのまま活かせるかどうか不安な開発者も多いだろう。しかし、「Visual Studio」では“Visual Studio 変換ウィザード”を利用することで、簡単に新バージョンの開発環境に対応するプロジェクトファイルへ変換できるので、この点も安心だ。
今回の企画では、多くの開発者が「Visual Studio 2005」「Visual Studio 2008」からの移行で、なかには「Visual C++ 6.0」からの移行という開発者もいたが、ほとんどの開発者が“Visual Studio 変換ウィザード”を利用するだけで、新しい開発環境へ移行できたようだ。多少手直しが必要となった場合もあるにはあるが、ごくわずかな修正で対応できたとのことだ。
Visual C++ 6.0からの移行となります。数世代のバージョンアップを一気に飛び越したため、移植にはかなり難航するかと思いましたが、予想よりも短期間で済みました。新しい開発環境のUI等にもすんなりと馴染むことができ、ざっと触ってみた限りではとても良くできていると感じています。
海藤 竜矢 氏(「Beepo」)
“付箋帳は、全てを「C & SDK」で開発しています。Visual Studio 6.0からの移行は、プロジェクトの変換等が問題なく行われ、ソースの手直しも一切ありませんでした。
ハムズソフト(「付箋帳」)
新しい技術、プラットフォームへの対応
なお、VS2010でビルドしたアプリケーションは、Windows 2000で動作しなくなるので注意してほしい。実際、この点を懸念してVS2010への移行を諦めた開発者もいる。しかし、これまでもVS2005ではWindows 95、VS2008ではWindows 98/Me/NT 4.0に対応するアプリケーションがビルドできなくなるなど、新しい技術へ対応するため古い環境との互換性が保てなくなることはあった。この点については、VS2010の欠点とするのではなく、新しい機能を活用したアプリケーションをより少ない労力で作成可能になった点を評価すべきだろう。
たとえば、.NET Framework 4やSilverlight 4を利用したアプリケーションを作成できるのは、基本的に最新版のVS2010のみだ。ジャンプリストやタスクボタンといったWindows 7の新しいシェル機能を活用したり、並列処理や非同期処理、“Reactive Programming”といった新しいテクノロジーを習得したい場合、またはWindows Phone 7やWindows Azureといった新しいプラットフォームに興味がある場合は、最新のVS2010を選択すべきだろう。
.NET Framework 3.0や3.5のころはあまり最新機能に触れることはなかったのですが、最近は率先してVisual Studio 2010を使ってアプリケーションの開発を行っています。やっぱり最新機能に触れられるっていうのはとても楽しいことですね^^ 形になるのはもうちょっと先ですが、楽しんで作っていきたいと思っています。
オノデラユウイチ 氏(「ラステイル」)
「Visual Studio」に望むこと
最後に、VS2010に寄せられた声の中から、不満点についても紹介しよう。
ヘルプ機能
VS2010ではヘルプ機能が、単体動作するソフトとしてではなく、Webブラウザーで閲覧するタイプへと変更されたが、このヘルプ機能は不評で、戸惑いの声が多く寄せられた。サードパーティ製のヘルプビューワーソフトも複数リリースされているが、できれば標準で使い勝手のよいローカルアプリがほしいところだ。
Visual Studio 2010でヘルプシステムが一新され、オンラインヘルプがメインとなった。私は専用クライアントの一覧性の良さが好きであったのだが、一覧性は悪くなった。私はネットのない環境で開発を行うため、全てローカルにダウンロードしている。ヘルプシステムの更新は私にはよくなかった。
れい 氏(「CarotDAV」)
しかし、この点についてVS2010 Service Pack 1(SP1)で改善される予定。SP1は現在ベータテスト中で、現在同社のダウンロードセンターからダウンロードできる。
仮想環境との相性
また、仮想マシン環境との相性の悪さを挙げる作者もいた。WPFはDirectXを利用してGPUの潜在能力を引き出せるという利点をもつ。しかし、一部グラフィックドライバーとの相性が悪かったり、DirectXへの対応が十分でない仮想環境で問題が発生する場合もあるようだ。
最初、VMWare上のXPに「Visual Studio 2010」をインストールしたが頻繁に固まってしまった。VMWare上で様々な環境を構築して検証を行うので、VMWare上である程度動作しないと検証を行うのが困難になる。是非この点を改善していただきたい。
Akira kawahara 氏(「ディスカス」)
日曜プログラマーには厳しいSKU構成
またVS2010では、従来の“Standard”エディションに相当するSKU(Stock Keeping Unit、製品構成)がなくなってしまったのは残念。
今回は“Professional”エディションが無償で提供されたため、SKUに対しての意見は皆無であったが、オンラインソフト作者のなかには、プログラミングを趣味とする日曜プログラマーも少なくない。そんな開発者にとって、新規パッケージで参考価格128,000円という“Professional”エディションは高嶺の花だ。一部機能のみをリーズナブルな価格で購入できれば理想的なのだが、現在のところそのような形態で製品は提供されていない。
しかしマイクロソフトでは、無償で開発に必要なソフトウェアを提供する学生向けプログラム“DreamSpark”をはじめ、主にベンチャー企業向けの“BizSpark”、小規模なWeb開発者会社向けの“WebSiteSpark”などのプログラムを実施しているので、これを通じて安価に開発環境を利用できる場合がある。
また、「Visual Studio 2008」の無償版“Express”エディションを利用していれば、新規パッケージよりもお買い得な“アップグレード優待パッケージ”(参考価格64,800円)を購入して上位エディションへ移行することが可能。「Visual Studio」の旧バージョンの“Standard”エディション(VS2005/VS2008など)を購入しているユーザー向けには、“Standard Edition 乗り換え優待パッケージ”(参考価格39,800円)も用意されている。
さらに期間限定の値引きキャンペーンなどを活用すれば、より安価にアップデートすることも不可能ではない。とりあえず無償版の“Visual Studio 2010 Express”シリーズからVS2010の世界に足を踏み入れてみるのもよいだろう。
なお、VS2010には30日間試用できる評価版も用意されている。評価期間は、無償の評価期間延長キーを取得することで最長90日間へ延長することも可能だ。
お詫びと訂正:記事初出時、“「Visual Studio」とは?”における記述で、一部間違いがございました。お詫びして訂正いたします。