Metro Style アプリの特徴 (4)

コントラクト

 コントラクトはアプリどうしをつなぐための物です。
 コントラクトという表現とチャームという表現があるようですが、どのように使い分けられているのか分かりませんでした。
 この記事では特に区別はしません。

共有

 アプリどうしでコンテンツを受け渡す機能です。
 共有元となるソースアプリから、共有先となるターゲットアプリにコンテンツを渡します。

 具体例としては、写真の表示するソースアプリから、クラウドにアップロードするターゲットアプリにコンテンツを渡してアップロードといった事が考えられます。

 共有する時はソースアプリでコンテンツを表示してチャームの「Share」を選択します。
 共有ペインが表示されるので、そこに表示されたターゲットアプリを選択すると、ターゲットアプリのビューが表示され実行されます。

 全てのアプリがソースを実装すべきだが、ターゲットは必ずしも必要ではない(コンテンツを受け取って意味がアプリのみ実装)との事です。

検索

 アプリ内での検索機能のUIを標準化するために用意されています。
 アプリを起動して検索チャームで検索するという普通の使い方もできますが、検索チャーム上でアプリを選択する事で直接アプリの検索結果表示画面を起動する事もできます。

設定

 アプリ内の設定画面のUIを標準化するために用意されています。
 設定画面としてアプリ独自のUIを用意するのではなく設定チャームを使用します。

 設定はこまめに保存し、保存時に確認は行いません。
 これは、いつ終了させられるかわからない事、非アクティブ化される時に動作できる時間が限られている事などによります。

 おそらく Live ID でログオンしている時だけの動きだと思いますが、複数のマシンで設定が共有されるそうです。

Picker

 コンテンツの選択用の機能です。共有と似たような機能です。
 共有はコンテンツを表示した状態でターゲットに渡すという動きになりますが、Picker は現在のアプリからコンテンツを選択にいく形になります。

 たとえば、画像を使用するアプリで画像選択画面を表示させる場合、通常はOSが管理している画像が選択対象になります。
 Picker コントラクトに対応しているアプリがあると、選択画面にアプリ名が表示され、そのアプリが管理している画像も選択対象となります。