24

Universal Windows Platform(UWP)应用的窗口特性

 5 years ago
source link: http://www.infoq.com/cn/news/2018/08/Windowing-UWP-Applications?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

为满足业务线应用的需求,我们将继续推出Universal Windows Platform(UWP)系列文章。下面,我们将注意力转向另一个备受关注的问题,即多窗口支持。

窗口模型

是否可以在单个应用中打开多个窗口,这是许多开发人员一直关注的问题。Microsoft在此上迈出了更大的一步,支持开发人员实现可在桌面、平板和3D/VR模式下同样工作良好的应用。为此,首先操作系统必须能以用某种方式将其环境信息告知给应用。当前的“窗口环境”(Windowing Environment)模式包括:

  • 重叠模式:这是传统的Windows设计,即多个视图同时可见,并可各自独立移动。
  • 浸入模式:本质上而言该模式就是平板的操作体验,即同一时间只有一个视图可见。
  • 全息图模式:前两种模式都是二维的。而全息图模式添加了第三个维度,支持在混合显示、增强现实和虚拟现实场景中使用。

不同视图的环境信息可以各不相同。一个应用可能具有一个视图作为正常窗口显示在桌面上,而另一个视图则显示在Oculus Rift头盔中。

呈现者(Presenter)和定位者(Positioner)

呈现者终究是一些高层的易用API。它们实现一些基本功能的处理,例如最大化/最小化、画中画,以及“其它此类基本窗口”。

定位者提供一些高级API。它们可以根据不同的环境完成一些任务。例如,相对于另一个窗口定位当前窗口、更改窗口的大小,将窗口移动到指定的显示区域或环境中。

新线程模型

当前,UWP中的每个窗口分别对应一个线程。这使得窗口间难以共享数据,甚至对于一些基本任务同样如此。例如,显示一个浮动颜色拾取器,可能需要转动(spinning up)整个新XAML内核。

使用新的“轻量级窗口”模型,所有的UWP窗口可共享同一线程(开发人员依然可以根据自身喜好使用独立的线程)。

窗口的路线图

2018年,UWP窗口的目标是提供伴生窗口(例如,浮动颜色拾取器)、浮出(flyout)、呈现者、轻量级伴生窗口、环境信息和定位者等特性。

其长期目标包括:

  • 轻量级独立窗口。
  • 透明(该特性曾在Windows Vista中广为采用,但是现在罕为使用)。
  • 可Docker化的窗口。
  • 3D定位。
  • 高级窗口分组。
  • 更多的呈现者和定位者。

在下一篇文章中,我们将介绍UWP应用的新发布模型。

查看英文原文: Windowing In Universal Windows Platform (UWP) Applications


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK