このページの本文へ

前へ 1 2 3 次へ

塩田紳二のWindows 8 IN-N-OUT 第7回

Windows 8の新機能「コントラクト」でアプリ連携が簡単に

2012年06月15日 12時00分更新

文● 塩田紳二

  • この記事をはてなブックマークに追加
  • 本文印刷

 Windows 8でMetro Styleアプリケーション向けに追加された機能に、「コントラクト」がある。これは、アプリケーションがWindowsやほかのアプリケーションに対して、持っている機能を提供するための仕組みだ。これを使うと、写真編集アプリからSNSアプリの投稿機能を呼び出して、写真を投稿するといった仕組みが簡単に作れる。今回はこのコントラクトについて説明しよう。

あるアプリしか解釈できないデータを
ほかのアプリでも使えるようにする機能

 コントラクトはアプリケーションが持つ機能を、ほかのアプリケーションに提供するものだ。Windowsがこれを仲介する。例えば、あるアプリケーション固有のデータファイルを理解できるのは、当然だがそのアプリケーションだけになる。そこで「検索コントラクト」では、アプリケーションは自身が解釈できるファイルの検索機能を、ほかのアプリケーションに提供する。検索コントラクトを利用すると、検索チャームはアプリケーション固有ファイルに含まれているテキストを検索できるというわけだ(図1)。

図1 「コントラクト」はアプリケーションが独自の機能を提供して、これをWindowsが仲介してほかのアプリケーションが使えるようにするもの。例えば検索機能を使う場合、各アプリケーションは自分が持つデータファイルの検索機能を提供し、利用する側の検索チャームでは、あとから追加されたアプリケーションでも検索対象とすることが可能になる

 似た機能として、「エクステンション」という機能もある。これは機能の提供先が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のインテントは、扱うデータタイプを指定して処理可能なアプリケーションをリストアップして、どのアプリケーションを使うのかをユーザーに指定させる「機能の検索」である。

 対するコントラクトは、「共有」や「設定」などの機能は決まっていて、処理可能なアプリケーションを探すものになっている。提供する機能は限られるものの、アプリケーション側が対応することで、ほかのアプリケーションがこうした機能を利用できるようにしているわけだ。

前へ 1 2 3 次へ

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン