天天看點

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

引言

在本篇文章中,可以掌握以下知識:

裝置族群,如何決定目标裝置

新的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,所有的使用者都可以下載下傳試用。

無論裝置的形式和輸入模态的不同,UWP 都可以運作,也可以為特殊裝置定制。自适應UI控件和新的布局Panel 有助于解決裝置螢幕尺寸的多樣性。

Windows8.1 和Windows Phone 8.1 App 還存在作業系統的差異,無論是Windows和Windows Phone。有了Windows 10就不需要将所有的開發精力都集中在作業系統,但需要解決一個或多裝置特征。裝置族群可以識别API,系統特征,以及使用者行為,也決定了可運作某一App的裝置集。

裝置族群是搜集的帶有版本号和辨別符的API集合,裝置族群是OS的基礎,PC 機運作桌面作業系統,是根據桌面裝置族群決定的,智能手機和平闆電腦等會運作Mobile OS,是由移動裝置族群決定的,等等。

通用裝置族群相對而言比較特殊,它不是任何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适應某一類裝置

排除隻支援某一特殊版本的裝置族群

UWP  App能夠在具有不同特征的裝置中運作。Windows10 提供新的通用控件,布局面闆和工具,來幫助開發自适應UI 。例如根據不同的螢幕分辨率,相應的調節UI。

Windows 幫助你實作自适應UI:

1. 提供通用控件和布局面闆來根據螢幕分辨率來優化UI

2. 常用輸入處理,可解決輸入模态多樣性的問題,無論通過觸摸輸入,觸摸筆,鍵盤,還是控制器,都能夠統一處理。

3.提供UI 設計輔助工具,能夠自适應不同的螢幕分辨率。

4. 自适應擴充可調節分辨率和DPI。

Windows 10 提供了一些新控件,比如月曆,拆分視圖,在此之前,隻有Winodws Phone 提供Pivot 控件 ,現在,通用裝置族群也支援Pivot控件。而且控件也做了相應的調整,能夠适應大尺寸螢幕。

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

新提供的RelativePanel 是一種布局樣式,可以定義各界面元素之間的關系,當螢幕分辨率發生變化時,界面元素會做出相應的調整來适應。RelativePanel能夠減少由于元素重新排列導緻的一些性能問題。

如下,無論是橫向和縱向的,藍色按鈕始終在Texbox1的右邊,橙色按鈕會放在藍色按鈕下方。

<a>XAML</a>

本文轉自 powertoolsteam 51CTO部落格,原文連結:http://blog.51cto.com/powertoolsteam/1728359,如需轉載請自行聯系原作者

繼續閱讀