特集:Visual Studio 2008 SP1概説新機能がてんこ盛りの「Visual Studio 2008 SP1」レビューデジタルアドバンテージ 一色 政彦2008/08/20 |
|
|
■クライアント関連の新機能と機能強化ポイント
●極小.NETエンジン「.NET Framework 3.5 Client Profile」
今回のVS 2008 SP1&.NET Framework 3.5 SP1で最も注目、そして期待されている新機能の1つが、「.NET Framework 3.5 Client Profile」(以降、.NET Framework CP)である。
.NET Framework CPは、クライアント・コンピュータ向け(Windows XP SP2以降)に特化して機能を限定した.NET Frameworkのサブセット(=縮小版の.NETアプリ実行環境)で、たった26.5Mbytes(※マイクロソフトが発表した数値。.NET Framework 3.5通常版は197Mbytesなので86.5%の縮小)と極小のサイズに仕上がっている。これにより、スタンドアロンのWindowsアプリやコンソール・アプリがより手軽に配布できるようになるので、.NET Frameworkのサイズが巨大なため.NETアプリの導入をためらっていたエンド・ユーザー層に対しては有用なのではないだろうか。
.NET Framework CPに搭載される主なテクノロジは以下のようになっている。クライアント・コンピュータに不要なASP.NET関連の機能などは完全に排除されているのが分かる。この詳細については後日別記事で紹介したいと考えている。
- 基本クラス・ライブラリ
- Windowsフォーム
- WPF(Windows Presentation Foundation)
- WCF(Windows Communication Foundation)
- ClickOnce
開発中のアプリが.NET Framework CPで動作するように保証するための設定も簡単で、次の画面のように、プロジェクトのプロパティ画面で[クライアント専用 Framework サブセット]をチェックするだけだ。
.NET Framework CPを利用するためのオプション設定(上:C#、下:VB) |
C#ならプロジェクト・プロパティの[アプリケーション]タブで[クライアント専用 Framework サブセット]にチェックを入れ、Visual Basicならプロジェクト・プロパティの[コンパイル]タブで[詳細コンパイル オプション]ボタンをクリックし、表示される[コンパイラの詳細設定]ダイアログの[クライアント専用 Framework サブセット]にチェックを入れる。 |
再配布可能な.NET Framework CPは次のサイトからダウンロードできる(※ただし8月20日現在、執筆時にはあった下記のリンク先がなくなっている)。Windowsインストーラの必須コンポーネントにも対応しているので、ClickOnceで.NET Framework CPを使うことも可能だ。
- Microsoft .NET Framework 3.5 Client Profileのダウンロード
- Microsoft .NET Framework 3.5 Client Profile 日本語 Language Packのダウンロード
●配布技術「ClickOnce」機能の強化
ClickOnceでは細かな機能強化がいくつか行われているが、筆者が「これは!」と思ったのは、「拡張子の関連付け」や「デスクトップ・ショートカットの作成」に対応したことだ。これにより、通常のスタンドアロン系のWindowsアプリケーションでも、よりClickOnceが利用しやすくなった。
「拡張子の関連付け」および「デスクトップ・ショートカットの作成」の設定 |
プロジェクト・プロパティの[発行]タブで[オプション]ボタンをクリックすると、この[発行オプション]ダイアログが表示される。 |
また.NET Framework 3.5 SP1から、最近人気上昇中のWebブラウザ「Firefox」にも対応したので、より多くの人に向けてClickOnceでアプリを配布できるようになった。
●VB6開発者向けの機能強化「Visual Basic PowerPacks」
VS 2008のWindowsフォームでは、Visual Basic PowerPacks(以降、VB PP)の一部(具体的には「Printer Compatibility Library 1.0」のPrintFormコンポーネント)が[ツールボックス]の[Visual Basic PowerPacks]タブから利用できるようになっていた。
VS 2008 SP1ではこれがさらに強化され、さまざまな機能(LineShapeコントロール、OvalShapeコントロール、RectangleShapeコントロール、DataRepeaterコントロール)が追加されている。具体的には次の画面を参考にしてほしい。
追加されたVisual Basic PowerPacksのコントロール群 |
ここでのポイントはVBだけでなく、C#のWindowsフォームでもデフォルトでこれらのコントロール群が[ツールボックス]から利用できることだ。
例えば、これまでWindowsフォーム上に直線を引くには、なぜか.NET Frameworkの基本ライブラリに存在しないため、Labelコントロールで無理やり代用する手段などが一般的だったが、VS 2008 SP1以降ではLineShapeコントロールを使えばよくなったので、素直に直線が引けるようになる。
●MFCの驚くべき拡張「Office 2007/Visual Studioライクな外観」
Visual C++のMFC(Microsoft Foundation Class Library)は、マイクロソフト・テクノロジの主流が.NETへ移行したことによって役目を終え、今後の更新はないだろうと予測されていた。しかし今回のVS 2008 SP1ではこれが覆され、魅力的な機能が追加されている。MFC Windowsアプリの外観を「Office 2007」や「Visual Studio」のようにする機能である。
この機能は、プロジェクトの新規作成で「MFC アプリケーション」テンプレートを利用したときの[MFC アプリケーション ウィザード]で選択できる。Officeライクにしたい場合には、次の画面のように、[アプリケーションの種類]ページで[プロジェクト形式]のラジオボタンで「Office」を選び、[視覚スタイルと色]コンボボックスで、以下の中から好きなものを選択できる。
- Office 2007 (青のテーマ)
- Office 2007 (黒のテーマ)
- Office 2007 (銀色のテーマ)
- Office 2007 (水色のテーマ)
- Office 2003*1
また、Visual Studioライクにした場合は、[プロジェクト形式]で「Visual Studio」を、[視覚スタイルと色]で「Visual Studio 2005」を選べばよい。
*1 「2003」となっているが、試しに作ってみたところ、「Office 2007 (水色のテーマ)」と同じ見た目のものが出来上がった。 |
Office 2007/Visual Studioライクな外観の選択 |
以上の設定を行ったうえでウィザードを完了させて、そのままビルドして起動してみたものが次の画面だ。
Office 2007(上)/Visual Studio(下)ライクな外観を持つMFCアプリ |
上のOffice 2007ライクな外観の方の画面では、右上の方に「スタイル」メニューがあり、ここから動的に外観を変更することもできる。次の画面は実際にそれを変えようとしているところだ。
Office 2007ライクな外観の動的な変更 |
「ブルー スタイル」は前述の「青のテーマ」、「ブラック」は「黒」、「シルバー」は「銀色」、「アクア」は「水色」と同じ意味。 |
以上の機能はC#やVBでも利用したいので、ぜひとも.NET Frameworkでも実現してほしいものだ。MFCについては、やはり役割を終えたという見方が一般的なので、「これが最後の大サービスということなのかな」という気が筆者はしている。
●待ち望まれていた「WPFデザイナの強化」
VS 2008では、ようやくWPF(Windows Presentation Foundation)のデザイン機能が搭載され、WPFアプリの開発が可能になった。
しかし実際に開発を始めようとすると、歴史があり、多機能なWindowsフォームのデザイナに比べてどうしても機能が少なく、開発生産性という点を考えるとWPFアプリの開発は見送りになってしまうケースがこれまでは多かったのではないだろうか。今回のVS 2008 SP1ではこの面に関していくつかの改善が見られる。
まず、[プロパティ]ウィンドウの機能が強化され、次の画面のように、A-Z順でソートする[アルファベット順]ボタンや、各コントロールのイベント・ハンドラを挿入するための[イベント]ボタンが追加された。
WPFデザイナの[プロパティ]ウィンドウの機能強化 |
また、[ツールボックス]からコントロールを直接、XAMLコードへドラッグ&ドロップできるようになった。XAMLコード手書き派の開発者にとっては役立つ機能だろう。
[ツールボックス]からXAMLコードへのドラッグ&ドロップ |
さらには、上下左右の端から一定の間隔を置いてコントロールを配置できるようにするスナップライン機能が追加されている。次の画面は左端から一定の間隔を置いてコントロールを配置しようしているところだ。
上下左右の端から一定の間隔を置いて表示されるスナップライン |
以上のほかにも、TabControlコントロールやExpanderコントロールに機能が若干追加されている。また、WPFアプリ自体を最初に起動するとき(=コールド・スタートアップ時)の速度が速くなっている(マイクロソフトのドキュメントによると、20〜45%のパフォーマンスの向上)ほか、さまざまなパフォーマンス向上や安定性向上があるようだ(※ただし、筆者が細かくデータを取って検証したわけではない)。
以上、ここまでクライアント関連の新機能を見てきたが、SP1ではデータベース関連やASP.NETの拡張も面白い。次にこれらについて見ていこう。なお、これらについては、後日より詳細なレポートを提供できる見込みであるのでご期待いただきたい。
INDEX | ||
[特集]Visual Studio 2008 SP1概説 | ||
1.Visual Studio IDEと共通言語ランタイム(CLR)の新機能と機能強化ポイント | ||
2.クライアント関連の新機能と機能強化ポイント | ||
3.データベースとASP.NETの新機能と機能強化ポイント | ||
4.言語個別の新機能と機能強化ポイント | ||
- 第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用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|