注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

邓征宇的BLOG

一个硬币总有不同的两面。

 
 
 

日志

 
 

[学习]都通用了,为啥Win10 UWP应用经常只有或先有PC版?  

2016-01-15 18:13:15|  分类: IT 和应用 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

http://www.ithome.com/html/windowsphone/195177.htm

目前Win10 UWP通用应用数量正在增加,但部分用户可能会感觉疑惑,既然都已经通用了,为啥一款应用总是先有PC版,而用户最迫切需要的Win10 Mobile版却还要继续等待,比如先后发布的Win10 UWP版《淘宝》以及《网易云音乐》应用。

要解释这个问题,需要了解一些Win10 UWP应用开发方面的问题,感兴趣就往下看。

什么是UWP?

UWP,全称Universal Windows Platform,即统一Windows平台,这里的统一包括内核共享、代码库统一以及API的统一,被统一的平台包括PC、平板、手机、Xbox One、物联网设备以及HoloLens设备。

都通用了,为啥Win10 UWP应用经常只有或先有PC版?

一款UWP应用针对各平台的代码大部分都是通用的(一个项目),只有很小一部分是平台特定的。在发布到应用商店时需要针对不同平台(处理器)分别编译。

开发者意愿

微软在宣传UWP时经常使用“编写一次,在各平台发布”的口号,但这里的“在各平台发布”是由开发者自行决定的。微软当然鼓励开发者针对各平台优化代码,尽可能让应用在不同类型设备中运行,但这并非强制措施。

都通用了,为啥Win10 UWP应用经常只有或先有PC版?

有时候开发者并不想让应用在某个平台中出现,比如一款应用可能在PC中Web体验方式更佳,开发者可能就不会发布PC版本。而一款对计算机性能要求较高的游戏应用,开发者可能会放弃手机版支持。

以上能够解释为什么一款UWP应用只有PC版或Win10 Mobile的问题,但为何不同平台版本经常会先后发布呢?

硬件环境差异

尽管我们所使用的各种设备运行相同内核的操作系统,但硬件配置却大有不同。

比如对于PC来说,目前绝大多数PC都使用非触摸屏,交互方式主要为键盘和鼠标,而手机应用以触摸交互为主,某些元素比如标题栏和跳转列表是PC版特性,手机应用并不显示。反过来,移动应用还需要考虑方向/重力感应等传感器等信息。

都通用了,为啥Win10 UWP应用经常只有或先有PC版?

到了Xbox中,交互方式又发生了变化,没有鼠标、键盘,也没有触摸屏,交互方式更简单,复杂的菜单交互显然不适用。

另外,在移动设备中还包含后退物理按键,而在桌面PC中则没有,应用需要针对移动设备的后退按键事件作出响应。为节省内存,Windows Phone设备会限制后台应用运行数量。内存不足时,部分应用可能会被强行终止,开发人员需要针对这些情形做出处理。

另外一个主要不同之处就是屏幕尺寸,开发人员需要针对不同尺寸屏幕对界面中的元素进行调整,使得其在各种设备中都能更好地显示。

开发路线不同

开发者可能需要为不同平台开发不同的功能,或者在时间安排上有区别,意味着需要走不同的开发路线,因此尽管使用相同的UWP平台,但需要分别开发和维护。这也造成了不同平台版本不同步的问题。比如,微软《消息》应用在手机和PC中功能就不尽相同,二者上架商店的时间也不同。

总之,通用并不意味着应用就一定并且同时出现在各平台。通用,是微软为开发者准备的“福利”,让开发者可以针对不同的平台编写同一套源代码,减轻开发者负担和维护成本。但具体如何开发,还取决于开发者自身。

在像Surface这样的二合一触摸PC设备变得越来越流行的今天,通用应用优势渐显。我们也期待开发者能够越来越重视Win10 UWP平台,通用应用数量和质量能更上一层楼。(via: WindowsCentral)

****************

微软详解Win10 UWP通用应用响应式布局设计

http://www.ithome.com/html/win10/174034.htm

Win8/Win8.1中应用只能以全屏方式运行,在Windows10中微软允许Modern应用以窗口化方式运行,用户可自由调整窗口大小,并且在改变窗口尺寸的同时也要求窗口中的内容随之调整,开发者需要为此做一些工作,这便是响应式布局设计。

Modern应用通过XAML可扩展标记语言(类似HTML)来描述应用页面,Win10中改进的XAML和控件为响应式布局做了进一步优化。

在本期博文中,微软详解了VisualStateManager、RelativePanel以及SplitView三种XAML元素/类。其中VisualStateManager为视觉状态管理器,Win10中的VisualStateManager类增加了StateTriggers和Setters API,可根据窗口尺寸和设备方向对视觉做出调整;RelativePanel是可根据元素之间相对位置进行自适应布局的容器;SplitView是可适应各种宽度的导航控件。

除此之外,微软还介绍了检测设备显示模式(平板模式或桌面模式)的方法,开发者可根据显示模式对应用界面做出优化调整。

******************

微软Edge团队:鼓励Win10开发者推出UWP浏览器

http://www.ithome.com/html/win10/172763.htm

微软Win10 Edge浏览器团队新创建了一个简单的概念浏览器,用来展示Win10通用应用的优势和可塑性。微软浏览器概念版指导开发者如何利用渲染引擎EdgeHTML,使用HTML、JavaScript、CSS及其他常见网页编程语言创建UWP版浏览器。

大部分应用功能来自微软的WebView控件,克服框架限制的APIs。开发者可以下载下面的简单浏览器作为参考,源代码已经在GitHub分享。

  评论这张
 
阅读(44)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017