MS系クリエイティブの世界へようこそ
WPFとSilverlight
さて、このXAMLを使用する.NET Frameworkのテクノロジには、2種類のプラットフォームが存在します。ちょっとややこしいのですが、1つはWindows Vistaのローカルアプリケーションとして動作するWPF、そしてもう1つは、Webアプリケーションとして動作するSilverlightです。
前者は言葉そのままで、ネットワーク接続の可否にかかわらず、あくまでWindowsのローカルアプリケーションとして動作する.exe形式などのアプリケーションです。実行するのに.NET Framework 3.0が必要なことを除き、通常のWindowsアプリケーションと変わらず動作しますので、当然、ローカルディスクへのアクセスやさまざまなハードウェアリソースの使用などが可能です。
それに対して後者は、FlashなどのようにSilverlightプラグインをインストールしたWebブラウザ上で動作するWebアプリケーションのプラットフォームです。実行ファイルは.xapという形式でWebサーバ上にデプロイされ、基本的にインターネット越しに実行されます。当然、クライアントマシンのローカルで動作するWPFとは異なり、ブラウザのサンドボックス内で実行されるため、ローカルディスクへのアクセスやファイル処理、ハードウェアリソースの使用などにさまざまな制限があります。
MS系開発プラットフォーム
では、WPFやSilverlightでアプリケーションを作る具体的な話に移りましょう。
まず考え方として、アプリケーションを2つのレイヤーに分けます。このうち、演算や他サーバへの接続、UIに情報を落とし込むための加工など、アプリケーション裏面の目に見えない処理をビジネスロジック部分と呼びます。それに対して、UIやデザインを構成する、アプリケーション表面の目に見える部分を、プレゼンテーション部分(あるいはGUI)と呼びます。簡単に言ってしまえば、前者がプログラマーの範囲、後者がデザイナーの範囲です。そして、それぞれの領域に応じた製品群がMicrosoftからリリースされています。
ビジネスロジック部分は、プログラマーにはおなじみのVisual Studio 2008で作ります。使用する言語としては、WPFならC#やVB、Silverlightならそれに加えてJavaScriptやRuby、Pythonが使用可能です。これらの言語で、プレゼンテーション部分として作成されたXAMLのビハインドコードとして動作する処理を記述し、XAMLと併せてパブリッシュすることで、最終的なアプリケーションの実行モジュールを作り上げます。
プレゼンテーション部分は、つい最近リリースされた、Microsoft Expression Studioを使用します。この製品を使用することで、ビジュアルデザインを起こし、それにインタラクティブな動作やアニメーションを付加し、XAMLとして書き出すことができます。詳しくは次のページで解説いたします。