虽然现在Win10UWP通用应用程序的数量在增加,但部分用户既然已经通用,为什么应用程序总是先有PC版,而用户最迫切需要的Win10 Mobile版还要继续等待。例如,Win10 UWP版本《淘宝》、010。
要解释这个问题,需要了解一些Win10 UWP应用开发方面的问题,感兴趣就往下看。
什么是UWP?
UWP,全称Universal Windows Platform,即统一Windows平台,这里的统一包括内核共享、代码库统一以及API的统一,被统一的平台包括PC、平板、手机、Xbox One、物联网设备以及HoloLens设备。
一款UWP应用针对各平台的代码大部分都是通用的(一个项目),只有很小一部分是平台特定的。在发布到应用商店时需要针对不同平台(处理器)分别编译。
开发者意愿
微软在宣传UWP时经常使用“编写一次,在各平台发布”的口号,但这里的“在各平台发布”是由开发者自行决定的。微软当然鼓励开发者针对各平台优化代码,尽可能让应用在不同类型设备中运行,但这并非强制措施。
有时候开发者并不想让应用在某个平台中出现,比如一款应用可能在PC中Web体验方式更佳,开发者可能就不会发布PC版本。而一款对计算机性能要求较高的游戏应用,开发者可能会放弃手机版支持。
以上能够解释为什么一款UWP应用只有PC版或Win10 Mobile的问题,但为何不同平台版本经常会先后发布呢?
硬件环境差异
尽管我们所使用的各种设备运行相同内核的操作系统,但硬件配置却大有不同。
比如对于PC来说,目前绝大多数PC都使用非触摸屏,交互方式主要为键盘和鼠标,而手机应用以触摸交互为主,某些元素比如标题栏和跳转列表是PC版特性,手机应用并不显示。反过来,移动应用还需要考虑方向/重力感应等传感器等信息。
到了Xbox中,交互方式又发生了变化,没有鼠标、键盘,也没有触摸屏,交互方式更简单,复杂的菜单交互显然不适用。
另外,在移动设备中还包含后退物理按键,而在桌面PC中则没有,应用需要针对移动设备的后退按键事件作出响应。为节省内存,Windows Phone设备会限制后台应用运行数量。内存不足时,部分应用可能会被强行终止,开发人员需要针对这些情形做出处理。
另外一个主要不同之处就是屏幕尺寸,开发人员需要针对不同尺寸屏幕对界面中的元素进行调整,使得其在各种设备中都能更好地显示。
开发路线不同
开发者可能需要为不同平台开发不同的功能,或者在时间安排上有区别,意味着需要走不同的开发路线,因此尽管使用相同的UWP平台,但需要分别开发和维护。这也造成了不同平台版本不同步的问题。比如,微软《消息》应用在手机和PC中功能就不尽相同,二者上架商店的时间也不同。
总之,通用并不意味着应用就一定并且同时出现在各平台。通用,是微软为开发者准备的“福利”,让开发者可以针对不同的平台编写同一套源代码,减轻开发者负担和维护成本。但具体如何开发,还取决于开发者自身。
在像Surface这样的二合一触摸PC设备变得越来越流行的今天,通用应用优势渐显。我们也期待开发者能够越来越重视Win10 UWP平台,通用应用数量和质量能更上一层楼。(via: WindowsCentral)
微信搜索“IT之家”关注抢6s大礼!下载IT之家客户端(戳这里)也可参与评论抽楼层大奖!