引言架构
设备族群并发
UI 和通用输入模式app
在本篇文章中,能够掌握如下知识:工具
从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,是由移动设备族群决定的,等等。spa
通用设备族群相对而言比较特殊,它不是任何OS 的基础,相反,通用设备族群的API是全部族群的父节点,正由于有了通用设备族群API才保证了每一个OS 可以正常呈现到每种设备中。
每一个子设备族群在通用族群基础上添加自有的API。使用设备族群的优势在于开发一次,处处运行,不管用户使用哪一种设备,手机,平板或PC。App可以使用自适应代码实现动态获取设备特征,适应设备。
你的App须要使用哪一种设备族群,主要取决开发需求,而且决定影响最终App的呈现:
1. API 集,App运行时须要调用的API
2. API集调用
3. 适应的设备集,即App可以安装的设备类型。
选择设备族群主要由两方面缘由决定,API 接口类型,是否建立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的右边,橙色按钮会放在蓝色按钮下方。
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、日程安排、输入、导航等多个控件,有效的帮助开发过程。