製品版が待ちきれない! Windows 8 Consumer Preview特集 第3回
Metroアプリを動かすWindows 8の新環境 WinRTの秘密
2012年03月06日 12時00分更新
Windows 8の新UI「Metroスタイル」は、今までのWindows OSとまったく異なるコンセプトを採用している。例えばMetroスタイルアプリケーションは、今までのWindowsアプリケーションが持っていたウインドウという概念を持っていない。全画面表示が基本だからだ。
このMetroスタイルの基盤となっているのが、Windows 8で導入される新しいアプリケーション実行環境「WinRT」である。特集3回目ではこのWinRTについて解説しよう。
WinRTはWin32よりハイレベルなAPIを提供する
Windows 8ではMetroスタイル環境を作り上げるために、新しい実行環境(フレームワーク)である「Windows Runtime」(WinRT)が用意されている。Metroスタイルアプリケーションを開発するには、なんらかの方法でWinRTを使用することになる。Windows 7までのWindowsでは「Win32 API」を筆頭に、「.NET Framework」などのフレームワークが用意されていた。WinRTはこうしたフレームワークをベースとして、再構築されたものだ。
WinRTのコンセプトは、できるだけ「ハイレベルなAPI」を提供することを目的としている。Win32や.NET Frameworkなどで提供されているAPIは、比較的プリミティブなAPIだ。.NET FrameworkはWin32よりもレベル的には高度になっているが、WinRTほど高度ではない。
「APIがプリミティブ」とか「ハイレベル」と書いているが、プログラミング経験のない人にはイメージしにくいだろう。例えば人間の体を例として、腕を動かす動作を考えるとわかりやすい。腕を動かすには、まず脳の中で「右腕を動かす」と考える。すると脳から脊髄を通じて神経に命令を出し、腕を動かすために複数の筋肉を動かすことになる。腕を動かすだけで、本来ならば膨大な手順が必要だ。
Win32 APIは非常に細かな手順しか用意されていないため、事細かに手順をプログラミングする必要があった。同じような機能もアプリケーションごとに、プログラミングする必要があった。.NET Frameworkはもう少し手順を簡略化して、共通に利用されるものをAPI化していた。
WinRTの場合、「ファイルを開く」というAPIを呼び出すと、「マイコンピューター」や各ドライブなどを表示して、選択したフォルダーやドライブのファイル一覧を表示する。クラウドストレージ(SkyDrive)へのアクセスも、同じAPIで処理できる。このように、WinRTはハイレベルなAPIを提供している。
逆に言うと、Win32や.NET Frameworkは、プログラマー自身がカスタマイズして自由にプログラミングできるが、WinRTはマイクロソフトが提供している方式でしかアクセスできない。その分プログラミングは楽になる。
この連載の記事
-
第4回
PC
タブレットや低価格PCを狙う ARM版Windows 8とは何か? -
第2回
PC
これだけは知っておきたいWindows 8 11の疑問(β編) -
第1回
PC
豊富な画面で見る これがWindows 8 Consumer Previewだ -
PC
製品版が待ちきれない! Windows 8 Consumer Preview特集 - この連載の一覧へ