Universal Windows Platform(UWP)应用的窗口特性
為滿足業(yè)務(wù)線應(yīng)用的需求,我們將繼續(xù)推出Universal Windows Platform(UWP)系列文章。下面,我們將注意力轉(zhuǎn)向另一個(gè)備受關(guān)注的問題,即多窗口支持。
\\窗口模型
\\是否可以在單個(gè)應(yīng)用中打開多個(gè)窗口,這是許多開發(fā)人員一直關(guān)注的問題。Microsoft在此上邁出了更大的一步,支持開發(fā)人員實(shí)現(xiàn)可在桌面、平板和3D/VR模式下同樣工作良好的應(yīng)用。為此,首先操作系統(tǒng)必須能以用某種方式將其環(huán)境信息告知給應(yīng)用。當(dāng)前的“窗口環(huán)境”(Windowing Environment)模式包括:
\\- 重疊模式:這是傳統(tǒng)的Windows設(shè)計(jì),即多個(gè)視圖同時(shí)可見,并可各自獨(dú)立移動(dòng)。\\t
- 浸入模式:本質(zhì)上而言該模式就是平板的操作體驗(yàn),即同一時(shí)間只有一個(gè)視圖可見。\\t
- 全息圖模式:前兩種模式都是二維的。而全息圖模式添加了第三個(gè)維度,支持在混合顯示、增強(qiáng)現(xiàn)實(shí)和虛擬現(xiàn)實(shí)場景中使用。\
不同視圖的環(huán)境信息可以各不相同。一個(gè)應(yīng)用可能具有一個(gè)視圖作為正常窗口顯示在桌面上,而另一個(gè)視圖則顯示在Oculus Rift頭盔中。
\\呈現(xiàn)者(Presenter)和定位者(Positioner)
\\呈現(xiàn)者終究是一些高層的易用API。它們實(shí)現(xiàn)一些基本功能的處理,例如最大化/最小化、畫中畫,以及“其它此類基本窗口”。
\\定位者提供一些高級API。它們可以根據(jù)不同的環(huán)境完成一些任務(wù)。例如,相對于另一個(gè)窗口定位當(dāng)前窗口、更改窗口的大小,將窗口移動(dòng)到指定的顯示區(qū)域或環(huán)境中。
\\新線程模型
\\當(dāng)前,UWP中的每個(gè)窗口分別對應(yīng)一個(gè)線程。這使得窗口間難以共享數(shù)據(jù),甚至對于一些基本任務(wù)同樣如此。例如,顯示一個(gè)浮動(dòng)顏色拾取器,可能需要轉(zhuǎn)動(dòng)(spinning up)整個(gè)新XAML內(nèi)核。
\\使用新的“輕量級窗口”模型,所有的UWP窗口可共享同一線程(開發(fā)人員依然可以根據(jù)自身喜好使用獨(dú)立的線程)。
\\窗口的路線圖
\\2018年,UWP窗口的目標(biāo)是提供伴生窗口(例如,浮動(dòng)顏色拾取器)、浮出(flyout)、呈現(xiàn)者、輕量級伴生窗口、環(huán)境信息和定位者等特性。
\\其長期目標(biāo)包括:
\\- 輕量級獨(dú)立窗口。\\t
- 透明(該特性曾在Windows Vista中廣為采用,但是現(xiàn)在罕為使用)。\\t
- 可Docker化的窗口。\\t
- 3D定位。\\t
- 高級窗口分組。\\t
- 更多的呈現(xiàn)者和定位者。\
在下一篇文章中,我們將介紹UWP應(yīng)用的新發(fā)布模型。
\\查看英文原文:?Windowing In Universal Windows Platform (UWP) Applications
總結(jié)
以上是生活随笔為你收集整理的Universal Windows Platform(UWP)应用的窗口特性的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: leetcode 58. Length
- 下一篇: ORACLE 11G RAC ASM磁盘