大きく変わるWindowsストア・アプリ開発 〜 ビュー状態に関連する変更点:特集:次期Windows 8.1&Visual Studio 2013 Preview概説(前編)(5/6 ページ)
Windows 8.1(Preview版)の変更点や新機能を開発者視点で紹介。Windows 8用に作られたWindowsストア・アプリにはどんな影響があるのか?
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上で動かしたときとは異なり、この状態でも設定チャームの操作対象になる。ちなみに、この状態で設定チャームからオプション設定などを呼び出してみると、スナップ状態のWin 8ストア・アプリはFill状態の最小幅(=1024px)にまで自動的に幅が広がる。
また、Win 8ストア・アプリの幅は、スナップ状態(幅320px固定)の上はFill状態(幅1024px以上)だ。その中間はない。しかし、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ストア・アプリの幅を広げていくと、スナップ状態から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ストア・アプリの幅を最小の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.