それでは、Blue以降の世代でWindowsプラットフォームがどのように変化したのかを簡単に見ていこう。
以下はWindowsにおける開発プラットフォームの概要図だ。これらをベースに開発したアプリはWindows 8/8.1だけでなく、Windows PhoneからXbox Oneまですべて動作可能となる。つまり、Windows 8で導入された「WinRT」のAPIをベースに開発した、いわゆるModern UIアプリ(Windowsストアアプリ)は、すべてのフォームファクタで動作するようになるわけだ。
Xbox OneではハイパーバイザーのようなホストOS上にゲームを動作させるパーティションと、Windows OSの搭載された共有パーティションの2つが存在しており、ゲーム以外のメニュー操作やSNS、メディアプレーヤー等の機能は共有パーティション上で実行されているWindows OSのXbox Shellが担っている。一部のユーザーインタフェースで挙動が異なるものの、基本的にModern UIアプリはこの共有パーティション上でそのまま動作すると考えていいだろう。
そして、ここでの注目はSilverlightの部分だ。Windows Phone 7以降、Windows Phoneプラットフォームでメインの動作環境はSilverlightとなったが、Windows Phone 8.1でもこれがレガシー環境の一環としてそのまま残されている。つまりWindows Phone 8.1はWinRTとSilverlightの2つのランタイム環境を同時に提供している。
この8.1におけるSilverlightは単なるレガシーサポートとは異なり、WinRTで提供されるアプリ間の“共有”機能やシングルサインオン(SSO)サポートのほか、Bluetooth LEを含む位置情報を基にしたGeofencingによるアプリの復帰、SDメモリーカードへのアクセスなど、大幅な機能強化が図られている。
HTML+JavaScript、C++/C#といったWinRT向け開発に加え、SilverlightもWindows Phone 8.1アプリでの開発に利用でき、もしSilverlightを選択した場合はWindows Phone 7/8といった旧デバイスもアプリの開発対象に含められるメリットがある。
逆をいえば、Windows Phone 7/8をアプリの開発対象に含めるかはデベロッパー次第ともいえる。もっともWindows Phone 8は8.1へのアップグレードがMicrosoftによって保証されるため、最後はWindows Phone 7.xユーザーのために旧バージョン向けアプリのメインテナンスを続けておくか……ということになるわけだが。
Copyright © ITmedia, Inc. All Rights Reserved.