その名は「新しい (Windows) UI の…」

発端

マイクロソフト社がIEの舵取りに迷っている。同社は先週、Windows 8の“Windows ストアアプリ”として動作する「Internet Explorer 10」でFlashコンテンツを表示する際の方針を変更すると発表した。この方針転換が意味することを理解するためには、Windows 8が発売される前までさかのぼる必要がある。

【#モリトーク】第50話:IEのジレンマ - 窓の杜

という記事を読んだのだけど,どうも用語の使い方が危なっかしい.枝葉の部分ならともかく記事の論点に直結する部分だけに余計に気になる.というわけでちょっとだけ書いてみたのが以下.

Windows 8 向けブラウザの 3 分類

Windows 8 でウェブブラウザというと,大きく 3 種類に分けられる.

  1. いわゆる Windows ストアアプリであって,標準ブラウザコンポーネントを利用するもの
  2. いわゆるデスクトップアプリケーションとして動作するブラウザ
  3. Windows ストアアプリではないものの,Windows ストアアプリと同様の没入型 UI で動作するブラウザ

単独製品としての「Internet Explorer 10」が該当するのは 2 と 3 である.この厳密な定義に従えば,元記事にあった,

“Windows ストアアプリ”として動作する「Internet Explorer 10

なるものは,実は存在しない.元記事に登場する Google Chrome も同様で,“Windows ストアアプリ”として動作する Google Chrome というものは存在しない.Chrome もタイプ 2 とタイプ 3 で動作する.
なぜこの区別が重要かというと,タイプ 3 のブラウザは,没入型 UI で動作するという点ではタイプ 1 に近いものの,開発者視点ではむしろタイプ 2 のデスクトップアプリケーションとしてのブラウザに近いからだ.タイプ 1 ブラウザと対照的な,タイプ 3 のブラウザの特徴を挙げてみよう.

  • AppContainer サンドボックスが強制されず,Integrity Level Medium で起動される
  • WinRT に縛られず,デスクトップアプリケーションとほぼ同等の Win32 API にアクセスできる
  • Windows ストアを経由せずにインストールできる

このように,タイプ 3 ブラウザは,実際にはデスクトップブラウザと同じ技術で作られている.プラグイン的な実行時ライブラリの使用や,JIT コンパイルのような実行時コード生成についても特に技術的な制約はない.
もう一点強調しておくと,Windows 8 で没入型 UI が導入されるにあたって,こんな動作モードが許されたのはブラウザだけである.この動作モードが許されるのはデフォルトブラウザに限定され,その他のブラウザには許されないというところからも,今回の措置が例外的なものであることが透けて見える.

参考資料

Windows 8 のサードパーティー製ブラウザ事情については,Microsoft がブラウザ開発者向けに公開している Developing a new experience enabled desktop browser という資料に詳しい.なかでは,Windows 8 で動作するタイプ 3 のブラウザを開発する方法について解説されている.プロセス分離型ブラウザについても言及されているあたり個人的には好感度が高い.
ちなみにこの資料で,タイプ 1, 2, 3 ブラウザはそれぞれ以下のように呼ばれている.

  1. Windows Store app
  2. Desktop browsers.
  3. New experience enabled desktop browser

3 については,"New experience enabled" のあたりに没入型 UI を,"desktop browser" のあたりに API 的な側面を感じるとよいのではなかろうか.

きみの名は……

さて,以上の話を理解してから見る次のツイートは味わい深い.



背景事情が分かってしまえば簡単な話である.つまり,開発者向け資料で New experience enabled desktop browser と呼ばれる動作モードの IE が,ユーザー向けには "新しい (Windows) UI の IE"、"Windows 8 スタイルの IE" と紹介されているわけだ.まあ他に呼びようなかったのやもしれず.