このページの本文へ

前へ 1 2 3 4 5 次へ

基礎から覚える 最新OSのアーキテクチャー 第5回

Windows 8でMetro Styleアプリを動かす「WinRT」

2011年09月29日 12時00分更新

文● 塩田紳二

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

Metro Styleのすべては
エクスプローラーが管理する

 Windows 8ではスタートメニューがなくなり、Start Screenができた。このStart Screenには、アイコンではなく通知機能などを持つ「タイル」が配置されて、これをタップすることでアプリが起動する。しかしこのStart Screenは、Windowsのシェルであるエクスプローラーが作り出しているのだという。Windowsのデスクトップも実体はエクスプローラーであるから、Windows 8でのエクスプローラーは両Styleのアプリの表示を制御しているようだ。実際に、デスクトップ側でエクスプローラーをタスクマネージャーから停止させてしまうと、Start Screenも消えてしまう。

Metro Style用に作ったマネージコードを、エクスプローラーからダブルクリックで起動しようとしてみた。「App Containerの中でないと動作しない」というメッセージ(赤枠内)が表示され起動できない

 おそらく前述のApp Containerなども、エクスプローラーがある程度管理に関与しているのだと考えられる。Metro Styleアプリはダブルクリックしても起動せずに、「App Containerが必要だ」というメッセージが表示される。なお、Metro Styleのアプリも実行ファイルなどは従来のDesktop Styleと同じであり、例えばCLR(Common Language Runtime)を使うマネージドコードの場合も、実行ファイルは従来同様にEXE型式になっている。

 また、HTML+JavaScriptで作られたMetro Styleアプリは、HTMLやJavaScriptのファイルがそのまま見えて、少なくともアプリがインストールされた状態では普通のファイルである。標準でインストールされるMetro Styleアプリは、「C:¥Program Files¥Applications」以下にある。ただし、ここが正式な置き場所というわけではなく、ほかの場所にあってもアプリを正しく配置(Visual Studioを使う)すれば、起動は可能だ。Metro Styleアプリはインストールされると、Start Screenにタイルを置く。標準の場所は、Start Screen最後の位置(右端)になる。

 Metro StyleアプリはApp Container内で動くと述べたが、実際にはエクスプローラーがタイルのタップを検出すると、内部の「Activation System」がレジストリから、当該アプリの情報を引き出す。その後は「RCPサーバーサービス」を経由して、「DCOM Launchサービス」がアプリを起動する。

Metro Styleアプリの起動のしくみ。COMオブジェクトの仕組みを使って、従来の環境と分離している

 型式的にいえば、Metro Styleアプリ(またはWWAHost.exe)は、EXE型式のCOMオブジェクトになっている。DCOM Launchサービスがそれをメモリーにロードして、メソッドを呼び出すことで、実行が開始されるわけだ。

オブジェクトライブラリとしてのWinRT

 WinRTはさまざまな機能を持つオブジェクトを提供する「オブジェクトライブラリ」となることで、APIとして機能する。だが実体は、既存のCOMオブジェクトを拡張したものだ。

 WinRTの技術基盤が既存のCOMベースというのは、ちょっと意外な感じがある。だがMetro Styleに対して、Desktop Styleと同様の(アンマネージドコードも利用できる)開発の自由さを提供するなら、仮想コードをベースにした.NET Frameworkのオブジェクトよりも、機械語コードそのものであるためベースにしやすい。

 また、実行のオーバーヘッドを軽減することもできる。特にWindows 8では、ARM系のプロセッサーも使われることになる。ARM系プロセッサーは通常のパソコン用CPUに比べると性能が劣る部分があるため、API側は機械語コードで最適化したものを使いたい、という考えもあったのだと考えられる。

 このCOMベースのWinRTオブジェクトの仕組みは、今後のWindowsの標準APIとなるのではないかと想像される。今回のDeveloper Preview版では、Desktop Style側には何も手を付けていないが、WinRTのオブジェクトが利用できる「New Desktop Style」とでも言うべき環境を、作れない理由はないと思われる。しかしこちらは、かなり大仕事になるので、あるいはWindows 8の次のバージョンで実現させるのではないだろうか。

■関連サイト

前へ 1 2 3 4 5 次へ

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

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

ピックアップ

ASCII.jp RSS2.0 配信中

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