Avalon
.NET MVP Corrado Cavalli 氏
今日の Windows アプリケーションを 20 年前のものと比べてみると明らかな違いにすぐ気がつきます。オブジェクト指向プログラミングの導入という重大な転換点があり、.NET Framework が普及し、さらに Visual Studio のようなツールが登場したことによって、Windows フォームのアプリケーションの開発方法は根本的に変わりました。
ただしその中で、まったく変化していないか、変化しているとしてもほんのわずかしか変わっていないものが 1 つあります。それはユーザー インターフェイスです。
実際、私たちは今でも 20 年前と同じ 2D エンジンを使用しています。現在入手可能なハードウェアの能力は飛躍的に向上しているにもかかわらず、いまだに同じ制限を受けています。これが、長い年月を経てマイクロソフトが WPF (Windows Presentation Foundation、以前は "Avalon" ) の開発を決断した理由です。統一されたオブジェクト ベースのプレゼンテーション エンジンは DirectXを土台としており、そのために新しいグラフィック ボードが持つ膨大な処理能力を最大限まで高めることができます。
WPF は、これが将来のアプリケーションのユーザー エクスペリエンスのベースとなるように設計されています。
言うまでもなく、リッチ クライアント アプリケーションの開発には、グラフィック デザインの分野における豊富な経験を必要とします。そのため、プログラマと共に、"デザイナ" の経歴や実績が以前にもまして重要になります。
WPF ではまた、デザイナと開発者が互いの仕事を妨げることのないように、Windows アプリケーションでのユーザー インターフェイスと関連機能とが明確に分離されます。ユーザー インターフェイスは XAML (Extensible Application Markup Language) を使用し、関連する機能はマネージ コードを使用して記述されます。
XAML は、ユーザー インターフェイスの各要素をリッチかつ詳細に記述できるようにする XML ベースのマークアップ言語であり、中立的な言語でありながら、各要素へのコードの関連付けを可能にします。
どんなに簡単なユーザー インターフェイスでも、かなりの量の XAML が必要になります。そのため、マイクロソフトでは XAML と WPF の両方の可能性を活用するための 2 つのツールを新たに開発しました。1 つ目 Expression Interactive Designer (コードネーム "Sparkle") は、主にプログラマ以外を対象とし、2 つ目 (コードネーム "Cider") は、Visual Studio の次期エディション (コードネーム "Orca") の重要な部分を占め、主に設計者と開発者の役割が重なる場合に使用されます。
WPF の特に優れている点は、以前はアプリケーション コードによって管理されていたユーザー インターフェイスの各機能を、自律的に管理する機能です。
WPF アプリケーションは、ベクターベースであるため、どのようなタイプのディスプレイでも自動的に適応し、同じレベルの詳細度を提供します。また、データ バインディング機能を自律的に制御し、全体的な "テーマ" に統一することができます。これは、WPF では Web と同様に、すべての要素はスタイルで制御するか、事前に定義されたテンプレートによって記述できるためです。
私たちこれまで何度となく、大量のコードを書かずにアプリケーションの要素を 3D で作成したり、アニメーションを取り入れたいとさえ考えてきました。WPF を適切に使用すると、XAML を通して宣言するだけで、3D のプリミティブなサポートに加えてアニメーション処理が提供され、それが WPF エンジンによって分類されます。グラフィックス ハードウェアを直接制御することが可能になるため、各要素のレンダリングを自律的に行うことができ、無効なパーツを全面的に再描画する必要がありません。
WPF の利点を利用できるのは Windows アプリケーションだけではありません。ナビゲーション アプリケーションでも興味深いシナリオへの道が開かれます。Web サーバーに常駐する Windows アプリケーションのダウンロードとホスティングが Internet Explorer によって URL を介して可能になるため、Windows アプリケーションの機能と WPFによる魅力的な最新の外観を持つ新しい "Web 風のアプリケーション" が実現されるのです。
もちろん Windows フォームのアプリケーションは WPF が正式にリリースされた後もなくなるわけではありません。両方のテクノロジが共存する期間が長く続くでしょう。しかしすばらしいことに、両方のテクノロジを一緒にホスティングすることが容易であるため、どちらを使用するか決める必要はありません。
おわかりのように、WPF はある意味「革命」と言えるでしょう。私たちに必要なのはそのときに備えて準備を進めることです。まず、さまざまな CTP を試し、今すぐ現在のアプリケーションのコードからユーザー インターフェイスを分離してみましょう。そうすることで、WPF というこの新しいエキサイティングなエクスペリエンスを簡単に自分のものにできるのです。
|