米マイクロソフトは、9月13日に開催した開発者向け会議「BUILD」で、x86/x64とARMプロセッサの双方で動作する次期OS「Windows8」(開発コード名)の詳細を明らかにした。

 アプリケーション実行環境として、従来の「Win32」「.NET」に加えて新たに「WindowsRuntime(WinRT)」を搭載することが特徴の一つ。WinRTはスマートフォン用OS「WindowsPhone7」の実行環境と類似点が多く、両OSに共通するアプリの開発が容易になるとみられる。WinRT向けにアプリケーションを開発することで、WindowsPhone7のタッチ操作と同様の操作性を、Windows8でも実現できる()。

図●Windows Phone 7アプリの移植を容易にする「WinRT」
図●Windows Phone 7アプリの移植を容易にする「WinRT」

 Windows8のユーザーインタフェースは、WindowsPhone7と同じく、タイル状のアイコンを画面に並べる「MetroUI」を採用。このUIから、同社が「Metroスタイルアプリケーション」と呼ぶWinRTアプリを呼び出す。スマートフォン用アプリと同じく、選択したアプリが画面全体を占有する。

 従来のデスクトップ画面は、MetroUI上のタイルの一つとして呼び出すことができ、常に全面表示させておくことも可能だ。

 WinRTの特徴は、多くのプログラミング言語が使えることだ。HTML5/CSSとJavaScriptを組み合わせるWebアプリの開発手法に加え、C#、VisualBasic、C、C++とXAMLを組み合わせて開発することもできる。

 C#やVisualBasicと、UI記述言語のXAMLを利用する開発スタイルは、WindowsPhone7と共通する。WindowsPhone7向けに開発したアプリをWindows8に移植したり、その逆を行うことはそう難しくないだろう。SkyDriveなど同社のクラウドサービスを使い、同じファイルを両OSで共有することも可能だ。

 CやC++で開発された既存のデスクトップアプリもMetroスタイルアプリに移植できる可能性がある。WinRTはCやC++での開発にも対応しており、開発ツールを使えばx86/x64版、ARM版のアプリをそれぞれ生成できるためだ。ただし、Metroスタイルアプリのメニューやボタンはデスクトップアプリと大きく異なるので、移植の難易度は高そうだ。