Windows 8でMetro Styleアプリケーション向けに追加された機能に、「コントラクト」がある。これは、アプリケーションがWindowsやほかのアプリケーションに対して、持っている機能を提供するための仕組みだ。これを使うと、写真編集アプリからSNSアプリの投稿機能を呼び出して、写真を投稿するといった仕組みが簡単に作れる。今回はこのコントラクトについて説明しよう。
あるアプリしか解釈できないデータを
ほかのアプリでも使えるようにする機能
コントラクトはアプリケーションが持つ機能を、ほかのアプリケーションに提供するものだ。Windowsがこれを仲介する。例えば、あるアプリケーション固有のデータファイルを理解できるのは、当然だがそのアプリケーションだけになる。そこで「検索コントラクト」では、アプリケーションは自身が解釈できるファイルの検索機能を、ほかのアプリケーションに提供する。検索コントラクトを利用すると、検索チャームはアプリケーション固有ファイルに含まれているテキストを検索できるというわけだ(図1)。
似た機能として、「エクステンション」という機能もある。これは機能の提供先がWindows自体で、アプリケーションがWindowsの機能の一部を代替するような場合に使う。例えば、自動再生機能を登録しておき、特定のデバイスを接続したときに選択肢に表示させる、といった使い方をする。ここではコントラクトを詳しく見ていこう。Windows 8は以下の6種類のコントラクトを定義している。
- App to App Picking(File pickers)
- Cached file updater
- Play To
- Search
- Settings
- Share
これらのうち、SearchとShare、Settingsのコントラクトは、チャームバーの「検索」「共有」「設定」の各チャームが利用しているものだ。
アプリケーション自体を指定せずに、機能だけを指定してほかのアプリケーションを起動することは、Androidでも「インテント」として実装しているので、Windows 8が初めて実装する機能というわけではない。しかしAndroidのインテントは、扱うデータタイプを指定して処理可能なアプリケーションをリストアップして、どのアプリケーションを使うのかをユーザーに指定させる「機能の検索」である。
対するコントラクトは、「共有」や「設定」などの機能は決まっていて、処理可能なアプリケーションを探すものになっている。提供する機能は限られるものの、アプリケーション側が対応することで、ほかのアプリケーションがこうした機能を利用できるようにしているわけだ。
この連載の記事
-
第34回
PC
Windows 8の狙いは、UIの変化よりもAPIの変化が本質 -
第33回
PC
Windows 8が動作しなくなった? 新しくなった修復機能 -
第32回
PC
Windows 8でIMEに求められる新しい要素とはなにか? -
第31回
PC
Windows 8の無線LANをコマンドラインで細かく制御 -
第30回
PC
Windows 8をマウスで使いやすくするレジストリの小技 -
第29回
PC
周辺機器・アプリがWindows 8/RTで動くか確認する方法 -
第28回
PC
Windows 8のキーボードショートカットを全公開 -
第27回
PC
Windows 8が使いにくい? マウスを変えると印象も変わる -
第26回
PC
実はNFCに対応しているWindows 8 ただしアプリは不足 -
第25回
PC
実は扱いがまったく異なるWindows 8でのタッチパネル -
第24回
PC
Surfaceから見えるWindows RTの実像と、将来PCへの影響 - この連載の一覧へ