売り子さんは知らない? “Windows 10のストア”の世界その知識、ホントに正しい? Windowsにまつわる都市伝説(98)(2/3 ページ)

» 2017年12月05日 05時00分 公開
[山市良テクニカルライター]

あなたの知らない/それとも知ってる? ストアアプリの世界

 そもそも、ストアアプリは「Microsoft Word」や「メモ帳(notepad.exe)」といった、従来のデスクトップアプリ(Win32アプリケーション)とはいろいろと違います。さまざまな種類のデバイスで動作するのは、その特徴の1つです。

 Windows 8/8.1のときは、Surface RTのOSであるWindows RT(Windows 10版の後継バージョンは、残念ながら提供されませんでした)でも動作しました。Windows 10になってからは、Mobile、IoT、HoloLens、XBoxなどで一本化されているため、「ユニバーサル」という表現が加わったのでしょう。

 ストアアプリは、さまざまな制限が課せられたサンドボックスの中で動きます。「サンドボックス(Sandbox)」という言葉を使いましたが、この言葉はさまざまな場面で便利に、あるいは安易に利用されることがあります。しかし、今回の話に関連する限り、筆者は次のような意味合いで使っています。それは、文字通りの「砂場」です。それも、幼稚園や保育園の砂場のことです。

 子どもたちは、砂場で自由に遊ぶことができますが、その自由は本当の意味での自由ではありません。保育士やカメラなどで監視され、外部の不審者から守られますが、反対に子どもたちは勝手に砂場とは別の場所にあるブランコで遊ぶことは許されません。おもちゃを使うことはできますが、それには保育士の許可が必要です。勝手に道具を持ち込んで使うことはできません。ましてや、つるはしを持ち込んで砂場を拡張したり、破壊したりすることもできません。使わないときは砂場にカバーをかけられ、猫のフン害などから守られます。

 ストアアプリにとっての砂場、つまりサンドボックスは「AppContainer」と呼ばれます(ちなみに、この中で動くプロセスを「Immersive」プロセスと呼びます。先ほど出てきたアプリ名の表現です)。アプリはこのAppContainerの中でしか動くことができず、それも従来のデスクトップアプリケーションよりもできることが限られます。例えば、直接ファイルシステムを読み書きしたり、印刷したりすることはできません。カメラなどのデバイス、ネットワーク接続も直接行うことはできません。

 では、どうしているのかというと、ファイルやフォルダの読み書きや印刷には「ブローカー(Broker)」という、OSに用意されている仕組みを使います(C:\Windows\System32\PickerHost.exeやPrintDialog.exe)。そして、カメラなどのデバイス利用やネットワーク接続には「ケーパビリティ(Capability)」という仕組みを使い、これにはユーザーの「同意」(許諾)が必要になります。

 例えば、「マップ」アプリを初めて実行したとき、位置情報の取得を許可するかどうか聞かれるはずですが、これはケーパビリティの1つの使用をユーザーが同意する場面です(画面2)。

画面2 画面2 位置情報へのアクセスの同意を求める「マップ」アプリ

 Windows 8/8.1では、この同意は「アクセス許可(英語ではPermission)」として、アプリごとに個別に後から制御できました。Windows 10では「設定」アプリの「プライバシー」で、ケーパビリティの種類(位置情報、カメラ、マイクなど)ごとに、サービスのオン/オフ、アプリごとのオン/オフを制御するように変更されました。

 これを踏まえて、もう一度、画面1をご覧ください。

画面1 画面1 もう一度、よく見てみましょう

Copyright © ITmedia, Inc. All Rights Reserved.

「Windows 7」サポート終了 対策ナビ

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。