大きく変わるWindowsストア・アプリ開発 〜 ビュー状態に関連する変更点特集:次期Windows 8.1&Visual Studio 2013 Preview概説(前編)(5/6 ページ)

» 2013年07月19日 16時57分 公開
[山本康彦,BluewaterSoft]

Win 8ストア・アプリをWin 8.1で動かすと?

 以上のようにWin 8.1ストア・アプリではビューの扱いが大きく変わったが、では従来のWin 8ストア・アプリをWin 8.1で動かすとどうなるだろうか?

 結論を言えば、破綻しないように互換性が考えられている。Win 8.1上でWin 8ストア・アプリを動かした場合、Win 8上と同様にビュー状態が適用されるのだ。「WinRT/Metro TIPS:ビューの切り替えを実装するには?[Win 8]」の解説に使ったアプリをWin 8.1上で動かしてみると、次の画像のようになる。

Win 8ストア・アプリをWin 8.1上で動かした(幅320px) Win 8ストア・アプリをWin 8.1上で動かした(幅320px)
3つのアプリのうち、中央がWin 8ストア・アプリ。スナップ状態になっていると認識している。

 上の画像のように、Win 8ストア・アプリはスナップ状態になる。ただしこれは「疑似スナップ状態」とでもいうべきものだ。上の画像では、画面の左右のどちらの端にも「スナップ」していない。また、Win 8上で動かしたときとは異なり、この状態でも設定チャームの操作対象になる。ちなみに、この状態で設定チャームからオプション設定などを呼び出してみると、スナップ状態のWin 8ストア・アプリはFill状態の最小幅(=1024px)にまで自動的に幅が広がる。

 また、Win 8ストア・アプリの幅は、スナップ状態(幅320px固定)の上はFill状態(幅1024px以上)だ。その中間はない。しかし、Win 8.1ではビューの幅を自由に変更できる。どうなってしまうだろうか?

Win 8ストア・アプリをWin 8.1上で動かした(幅をやや広げた状態) Win 8ストア・アプリをWin 8.1上で動かした(幅をやや広げた状態)
中央のWin 8ストア・アプリの幅を少し広げた。しかしアプリはスナップ状態(=幅320px)のままだと認識し、システムによってアプリの両側に黒帯が付けられる。

 スナップの幅より少し広げてみても、上の画像のようにアプリはスナップ状態のままで、アプリには認識できない黒帯がビューの左右に付いてしまう。

 では、さらに広げてみるとどうなるだろうか? ただし、このモニタは、23インチの1920×1080pxである。横置き画面でスナップ状態でなければ、Fill状態だろうか。

Win 8ストア・アプリをWin 8.1上で動かした(23インチ、1920×1080px) Win 8ストア・アプリをWin 8.1上で動かした(23インチ、1920×1080px)
中央のWin 8ストア・アプリの幅を広げていくと、スナップ状態からFill状態にはならずに、Portrait状態になることがある。

 なんと、Fill状態にならず、上の画像のようにPortrait状態(=縦置き全画面)になってしまった! これは、モニタの縦が1080pxあるところがミソである。Win 8アプリがPortrait状態になる最小限は横768×縦1024pxであり、上の画像のWin 8アプリはそれを上回るサイズになっているのだ。なお、さらに幅を広げていって縦よりも横が長くなると、Fill状態になる。

 以上のように、Win 8ストア・アプリをWin 8.1の上で動かしても破綻しないように互換性が保たれている。だから既存Win 8ストア・アプリは何もしないでよいかというと、そうとも言えない。問題は、横1600px未満のサイズのモニタだ。例として、10.6インチで1366×768pxのモニタで、Win 8.1アプリとWin 8アプリを並べて表示すると次の画像のようになる。

Win 8.1上で、Win 8ストア・アプリとWin 8.1ストア・アプリを並べた(10.6インチ、1366×768px) Win 8.1上で、Win 8ストア・アプリとWin 8.1ストア・アプリを並べた(10.6インチ、1366×768px) 右のWin 8.1ストア・アプリの幅を最小の500pxに縮めた。しかし、左のWin 8ストア・アプリはスナップ状態のままだ。

 モニタの幅が1366pxでWin 8.1ストア・アプリの最小幅が既定値の500pxの場合、上の画像の左側に置かれたWin 8ストア・アプリに与えられる幅は最大でも1024px未満にしかならない。そのため、Win 8ストア・アプリはFill状態になれず、常にスナップ状態になってしまうのだ。これでは実用にならないだろう。すなわち、既存のWin 8ストア・アプリも、別途、Win 8.1対応版を作った方がよいのである。

 そこで出てくるのがVS 2013で提供されているWin 8ストア・アプリの「Retarget」だ。

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。