UWP入門教程1——UWP的前世此生

目錄

引言架構

設備族羣併發

UI 和通用輸入模式app

  • 通用控件和佈局面板
  • 工具
  • 自適應擴展
  • 通用輸入處理

 

引言

在本篇文章中,能夠掌握如下知識:工具

  • 設備族羣,如何決定目標設備
  • 新的UI控件和新面板幫助你適應不一樣的設備特徵

 

從Windows 8系統開始,微軟就 引入了WindowsRT(Windows Runtime),它是Windows App 模型的一箇中間階段。但願可以成爲通用應用體系架構佈局

Windows Phone 8.1發佈時,也兼容WRT 。這樣有助開發者使用同一代碼庫建立通用的Windows8 app。性能

將近三年以後,微軟的重頭產品Windows 10終於橫空出世。Windows 10 開始引入 UWP,更進一步的發展了Windows RunTime 模型,並將WRT 引入了Windows10 內核中。做爲系統內核的一部分,UWP 如今提供建立通用的App平臺(即App在運行Windows10的全部設備中均可以運行),固然微軟內部也作出了改進,UWP 不只包含了WinRT API,也增長了適應特定設備羣的API。UWP 爲開發跨設備App提供了可靠的API 層。這就意味着你只須要開發一次,就可在多種設備中運行。併發布到Windows Store,全部的用戶均可如下載試用。學習

Windows universal apps run on a variety of devices, support adaptive user interface, natural user input, one store, one dev center, and cloud services

不管設備的形式和輸入模態的不一樣,UWP 均可以運行,也能夠爲特殊設備定製。自適應UI控件和新的佈局Panel 有助於解決設備屏幕尺寸的多樣性。開發工具

 

設備族羣

Windows8.1 和Windows Phone 8.1 App 還存在操做系統的差別,不管是Windows和Windows Phone。有了Windows 10就不須要將全部的開發精力都集中在操做系統,但須要解決一個或多設備特徵。設備族羣能夠識別API,系統特徵,以及用戶行爲,也決定了可運行某一App的設備集。優化

Device families

設備族羣是蒐集的帶有版本號和標識符的API集合,設備族羣是OS的基礎,PC 機運行桌面操做系統,是根據桌面設備族羣決定的,智能手機和平板電腦等會運行Mobile OS,是由移動設備族羣決定的,等等。spa

通用設備族羣相對而言比較特殊,它不是任何OS 的基礎,相反,通用設備族羣的API是全部族羣的父節點,正由於有了通用設備族羣API才保證了每一個OS 可以正常呈現到每種設備中。

每一個子設備族羣在通用族羣基礎上添加自有的API。使用設備族羣的優勢在於開發一次,處處運行,不管用戶使用哪一種設備,手機,平板或PC。App可以使用自適應代碼實現動態獲取設備特徵,適應設備。

你的App須要使用哪一種設備族羣,主要取決開發需求,而且決定影響最終App的呈現:

1. API 集,App運行時須要調用的API

2. API集調用

3. 適應的設備集,即App可以安裝的設備類型。

選擇設備族羣主要由兩方面緣由決定,API 接口類型,是否建立App時可以無條件調用,以及App須要覆蓋的設備範圍。

如何作決策:

  • 最大化App 覆蓋量
  • 爲了實現App 覆蓋設備的最大化,保證它可以在儘量多的設備中運行,可把App目標定位通用設備族羣。這樣作的目的,App會就可使用全部設備族羣,(從通用設備族羣派生的)
  • 限制App 適應某一種設備
  • 限制App適應某一類設備
  • 排除只支持某一特殊版本的設備族羣

 

UI 和通用輸入

UWP  App可以在具備不一樣特徵的設備中運行。Windows10 提供新的通用控件,佈局面板和工具,來幫助開發自適應UI 。例如根據不一樣的屏幕分辨率,相應的調節UI。

Windows 幫助你實現自適應UI:

1. 提供通用控件和佈局面板來根據屏幕分辨率來優化UI

2. 經常使用輸入處理,可解決輸入模態多樣性的問題,不管經過觸摸輸入,觸摸筆,鍵盤,仍是控制器,都可以統一處理。

3.提供UI 設計輔助工具,可以自適應不一樣的屏幕分辨率。

4. 自適應擴展可調節分辨率和DPI。

通用控制和佈局板

Windows 10 提供了一些新控件,好比日曆,拆分視圖,在此以前,只有Winodws Phone 提供Pivot 控件 ,如今,通用設備族羣也支持Pivot控件。並且控件也作了相應的調整,可以適應大尺寸屏幕。

 

 

Desktop communication app UIPhone communication app UI

使用自適應Panels實現自適應界面

Layout Panel 指定子元素的尺寸和位置的值主要取決於屏幕尺寸,好比StackPanel 會指定子節點順序排放(垂直或水平)。Grid 與CSS 提供的Grid類似,每一個界面元素都對應單元格。

新提供的RelativePanel 是一種佈局樣式,能夠定義各界面元素之間的關係,當屏幕分辨率發生變化時,界面元素會作出相應的調整來適應。RelativePanel可以減小因爲元素從新排列致使的一些性能問題。

以下,不管是橫向和縱向的,藍色按鈕始終在Texbox1的右邊,橙色按鈕會放在藍色按鈕下方。

 

Relativepanel example

XAML

<RelativePanel>
    <TextBox x:Name="textBox1" Text="textbox" Margin="5"/>
    <Button x:Name="blueButton" Margin="5" Background="LightBlue" Content="ButtonRight" RelativePanel.RightOf="textBox1"/>
    <Button x:Name="orangeButton" Margin="5" Background="Orange" Content="ButtonBelow" RelativePanel.RightOf="textBox1" RelativePanel.Below="blueButton"/>
</RelativePanel>
在學習完本文以後,咱們對UWP平臺已經有了基本理解。在進行UWP平臺的開發時,還能夠藉助一些開發工具。ComponentOne Studio for UWP是一套能夠編寫全部 UWP 平臺應用的控件集,包括表格、報表、圖表、儀表盤、組織圖、地圖、PDF、Excel、Word、日程安排、輸入、導航等多個控件,有效的幫助開發過程。
相關文章
相關標籤/搜索