BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Universal Windows Platform (UWP)アプリケーションのウィンドウ処理

Universal Windows Platform (UWP)アプリケーションのウィンドウ処理

ブックマーク

原文(投稿日:2018/08/14)へのリンク

基幹ビジネスアプリケーション向けの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

Adoption Stage
Style
 
 

この記事に星をつける

おすすめ度
スタイル

BT