基幹ビジネスアプリケーション向けのUniversal Windows Platform (UWP)のシリーズの続きとして、よく引用される別の問題に注目してみる:複数ウィンドウサポート
ウィンドウモデル
ほとんどの開発者は、ひとつのアプリケーションで複数のウィンドウを開く機能を求めている。しかし、Microsoftはさらに先に進んでいる。彼らは開発者が、デスクトップ、タブレット、3D/VRモードで同じように動作するアプリケーションを書けるようにしたいと考えている。そのためには、まずOSがアプリケーション対して環境について伝える方法が必要になる。現在の「ウィンドウ環境」モードは:
- オーバーラップ: 複数のビューが個別に表示、移動できる従来のウィンドウデザイン
- イマーシブ: 一度に1つのビューのみのタブレット体験
- Holographic: 前の2つのモードは二次元。Holographicモードは、三次元で、in mixed/augmented/virtual realityシナリオで使用可能
環境情報はビューごとに異なる場合がある。たとえば、アプリケーションはデスクトップ上に通常ウィンドウのビューを持ち、Oculus Riftヘッドセットに2つ目のビューを表示するかもしれない。
プレゼンター(Presenters)とポジショナー(Positioners)
プレゼンターは高度で簡単に使えるAPIである。これらは最小化/最大化、ピクチャインピクチャ、「その他の単純なウィンドウ」のような基本的な機能を処理する。
ポジショナーは、高度なAPIを公開する。環境に依存した、他のウィンドウとの相対的なウィンドウの位置、ウィンドウのサイズ変更、特定の表示領域や環境へのウィンドウの移動などの操作ができる。
新しいスレッドモデル
現在、UWPアプリケーションの各ウィンドウは独自のスレッドがある。これはウィンドウ間のデータ共有が難しくする。フローティングカラーピッカーを表示するような基本的なタスクであっても、新しいXAMLコアを回す必要がある。
新しい「軽量ウィンドウズ(lightweight windows)」モデルは、全てのUWPウィンドウが同じスレッドを共有できる(必要に応じて個別スレッドを使用することもできる)。
ウィンドウ処理のロードマップ
2018年の目標は、コンパニオンウィンドウ(フローティングカラーピッカーなど)、フライアウト、プレゼンター、ライトウェイトコンパニオンウィンドウ、環境情報、ポジショナーを提供することである。
長期の目標には以下がある:
- 軽量独立ウィンドウ
- 透明性(Windows Vistaの人気機能、今ではあまりみなくなった)
- ドッキング可能なウィンドウ
- 3Dポジション
- 高度なウィンドウのグループ化
- 追加のプレゼンターとポジショナー
次のレポートでは、UWPアプリケーションの新しい配布モデルを見ていく。
Rate this Article
- Editor Review
- Chief Editor Action