数か月前に、.NET Web 製品のロードマップ についてブログ投稿を行い、VS 2008と.NET 3.5で出荷したWeb開発機能上に構築する必要のあるいくつかの製品予定について概略化いたしました。
今後数カ月において、クライアント開発関連の更新もいくつか行っていきます。お客様からのフィードバックで一番大きかったエリアへの取り組みと、Windowsアプリケーションを構築する際に開発者が利用可能な機能をできるだけ取り込めるような努力を行ってまいりました。これらの改善は全てVS 2008と.NET 3.5上に構築されており、.NETクライアント開発をよりよく進行させることができるようになると思います。以下は今後予定しているいくつかのリリースについてのロードマップです。:
クライアントアプリケーションに対して改善された .NET Frameworkのセットアップ
クライアントアプリケーションを構築しているお客様およびISVから数年に渡り要求頂いている一番大きなものは、.NET Frameworkのセットアップとインストールをもっと簡単で早いものにしてほしいというものでした。
今夏、クライアントアプリケーションに対して最適化されたセットアップパッケージをより簡単に構築できるようにする.NET 用の新しいセットアップフレームワークを出荷する予定です。このセットアップフレームワークは既存のインストールフレームワーク(例えば:InstallShieldの様な製品)と統合することができるので、エンドユーザはより小さく、より速くなった.NET Frameworkのセットアップをご利用頂くことができます。
Windows フォームや WPF クライアントアプリケーションはこのセットアップフレームワークを使用してマシン上に.NET Frameworkをインストールするのにクリーンに“ブートストラップ” することができます。セットアップの “ブートストラップ” ユーティリティはマシン上で.NET 3.5クライアントアプリケーションを有効にするのに必要な最小の.NET Frameworkパッケージを自動的にダウンロードするようにします。
例えば、ユーザが既に.NET 2.0をマシン上にインストールしていた場合、セットアップは.NET 2.0を.NET 3.5(.NET 2.0で既に提供されているコンポーネントを再度ダウンロードする必要はありません。)に更新するために必要な更新パッチだけをダウンロードします。これは大幅にクライアントセットアッププログラムのサイズを縮小しインストールのスピードを高速化します。
また、ソリューションに基づいたMISおよびClickOnceの両方に対してより統合されたアプリケーションのインストールができるようにしたアップデートと、簡単に構築できるよりユーザフレンドリなサポートを提供していく予定です。
.NETクライアントアプリケーションに対する改善されたワーキングセットとスタートアップの改善
よく受ける他の要求として、“コールドスタートアップ”の場合に.NET クライアントアプリケーションがより速く起動されるようにしてほしいものがあります。“コールドスタートアップ”は、マシン上で他に.NET クライアントアプリケーションが起動していない(もしくは最近起動していない)場合に発生し、ディスクから多くのページ(コード、スタティックデータ、レジストリーなど)をロードするようOSに要求します。もし大きな.NET クライアントアプリケーションもしくはライブラリをロード中の場合、または遅いディスクを使用中の場合、これらのコールドスタートアップはアプリケーションを開始するために時間がかかる可能性があります。
今夏、CLRへのサービスの更新を出荷する予定で、それによりディスクIOを切り詰めてデータ構造を最適化する方法およびアプリケーションをロードし起動する時にメモリーのレイアウトを改善する方法において大きく内部の最適化が行われます。多くの他の利点の中でも、これは.NET 2.0、3.0、3.5アプリケーションのワーキングセットやコールドスタートアップのパフォーマンスを大きく改善し、劇的にエンドユーザの.NET ベースのクライアントアプリケーションにおける経験値を改善させるだろうと思います。
アプリケーションのサイズによりますが、.NET アプリケーションでコールドスタートアップのパフォーマンスは25-40%改善されるだろうと思っています。これらの改善点を利用するためにアプリケーションのコードの変更も再コンパイルも必要無く、自動で行われます。
WPF パフォーマンスの改善
今夏、WPFへのサービスの更新もリリースする予定で、これにはテキスト、画像、メディア、データスタックを改善する多くのパフォーマンス最適化が含まれています。それらは以下のものです。
:
- ドロップシャドーやぼかしの移動効果は、現在ソフトウェアで描画されていますが、ハードウェアで加速されます(何倍も速くします。)。これらの効果に対するAPIは今日のものと同じです。(つまり、これらの改善点を利用するためにアプリケーションのコード変更や再コンパイルをする必要がないということです。)
- テキストのケース、特に視覚的またブラシでの描画で使用されている時、かなり速くなるでしょう。これらのケースに対するAPIも同じです。(つまりパフォーマンスの改善点を利用するためにコードの変更や再コンパイルする必要がないということです。)
- メディアやビデオのパフォーマンスも非常に速くなります。(こちらもパフォーマンスの改善点を利用するためにコードの変更や再コンパイルする必要はありません。)
- 新しいWriteableBitmap APIを追加する予定で、そこにはソフトウェア表面からリアルタイムでビットマップの更新を可能にします。また、よりリッチな画像構築を可能にする強力な新しい効果のAPIに対するサポートも追加する予定です。
- 新しいデータのスケーラビリティの改善も行い、それによりデータ編集が改善されます。それらにはより、コンテナの再利用や、リッチなデータを視覚化するコントロールを構築をより簡単にするデータの資格化サポートが含まれます。
WPF コントロールの改善
今年の後期に、WPF用の新しいコントロールをいくつかリリースする予定です。現在取りかかっているものの一覧に含まれているのはデータグリッド、リボン、カレンダー・デートピッカーコントロールです。
VS 2008 WPF デザイナの改善
VS 2008のサービスの更新もリリースする予定で、WPFデザイナにいくつか機能が追加されます。それらにはコントロールイベントのプロパティグリッド内でのイベントタブサポート、ソースモードでのツールボックスサポート、その他さまざまなよく要求頂いているものや改善点が含まれています。
まとめ
上記の改善は優れたデスクトップアプリケーションが簡単に作れるようになります。なぜなら、それらの改善はVS 2008と.NET 3.5上に構築されていいるからです。また、それを活用することも簡単になります(ほとんどの場合それらを活用するのにコードを変更する必要はありません。)。上記の各改善についての詳細については今後ブログでご紹介しますので、ご期待ください。
Hope this helps,
Scott