微软的光荣梦想Win10第一生产力UWP详解

早在微软一开始公布Windows 10的时候,统一的全平台体验就成为最重要的关键词,而达成这一理想最重要的工具就是“通用Windows平台(Universal Windows Platform,UWP)”。UWP,既可以作为一个平台的名字,即Appx文件,是微软于Windows10中全新加入的独立于Win32程序之外的另一种应用,也可以看作一系列Appx文件的集合。UWP本身可以看作Win8 Metro应用的精神遗作。和传统的Win32应用相比,UWP应用可以提供统一的全平台体验,并且内存占用低、硬件亲和力高、绿色纯净无添加,卸载无残留。

之所以强调全平台,是因为UWP按照开发要求,可以适应x86、Win10 Mobile、Windows Band、Surface、Surface Hub、Xbox One甚至是混合现实设备HoloLens和物联网设备(IoT)等环境。按照微软的说法,只要将代码简单的扔进Visual Studio 2015,就可以转制为能在上述任何一平台上获得同一的体验的UWP应用。

早在鲍尔默受到移动市场的全面进取的刺激而推出了亲和平板设备的Windows 8/8.1系统就可以看出微软的全平台理想:嵌入系统层级的OneDrive云服务,横跨所有的Windows(Phone)8以上的设备,让同步变得不仅无法逃避(除非你一定要用一个本地账户),也让用户发现了跨平台之间服务的便利,因此微软账户也变得更加重要,成为了通向全平台的钥匙。

此外UI风格和操作逻辑也变得更加贴板移动设备,但是最重要的Metro应用的诞生,这个日后UWP的雏形(事实上UWP就可以看作WinRT的一个超集)一开始就有着跨平台的基因与影子。轻量化的身型、体贴的硬件优化,以及别致的UI风格,都让人看到了微软的大刀阔斧,虽然现在已经没有人愿意提到这个夭折的弃子了。

▲扁平化的设计风格其实暗含了移动平台的操作逻辑

Windows8失败的命运和Metro应用冷淡的市场表现已经得到了证明,大家对于什么“跨平台”,什么“统一体验”的兴趣还不如一成不变的开始菜单浓厚——仿佛一夜之间全世界用户都变成了够用党,要统一的体验干甚?要跨平台的内容共享干甚?Windows的历史使命不就是工作吗?

小编是磁贴原教旨主义者

为了堵住他们的嘴,微软于2014年的冬季发布会正式公布了Win10系统,并开始了漫长的公测道路。在Windows 10中他们重新加入了Metro参半的开始菜单,这时的Metro UI已经改名为Modern UI,但是原本精致灵活、简洁平整、万花筒般多变却又万变不离其宗的磁贴已经沦为了空皮囊,一个空有其表却了无灵魂的空头支票。

最重要的还是在第二年Build 2015大会上正式公布的UWP项目,一个只需要一套工具、在一个平台上就可以开发出惠及所有支持Windows 10平台的平台计划(换句话说只要可以跑Windows 10就支持原生的UWP应用)。而更具有野心的是,微软还推出了Project Westminster、Centennial、Astoria、IslandWood四项计划,分别面对JavaScript前端网页应用、传统x86应用(.exe)、Android的Java应用以及iOS的Objective-C应用,将他们四者方便的转化为UWP应用,而为了达到这一点,微软放出了专门的开发工具:Visual Studio 2015 Code:一个只要将应用扔进去,就可以快速转制为UWP的工具。

Visual Studio 2015 Code自去年的Build 2015之后推出公测版本,并在11月推出开源的Beta测试,并最终在两个月之前的四月份正式迎来了正式版1.0版本。

看起来UWP就像是一个异次元口袋一样不是吗?一条代码、一款应用只要扔进去就可以变成多款、适用多平台的孪生应用,微软是怎么办到的呢?简单来说,如同微软最擅长的“兼容”一样,他们将传统的Runtime、Win32等API压缩精简到一个足够小巧的内核,类似于一个交集。

当它精简到即使Microsoft Band都跑得动的程度,就将它打包在开发工具和应用商店中(没错,微软的应用商店也是统一的),当开发者提交应用的时候,开发工具实质上可以直接获取那交集的一部分API,当用户在应用商店内下载安装时,系统会自动识别设备的环境(ARM、Xbox、HoloLens),并编译出这个环境下内核API剩余的补集,一套乐高玩具般的UWP就这么实现了,自由拆解,自由组合。

虽然原本期望于适配Android于iOS设备的Project Astoria和Project IshlandWood命运不如所寄托的那么顺利,但是UWP注定是成功、面向未来的。相比之前一潭死水的Metro应用,目前的UWP应用已经越来越多,因为UWP是真正性、有预见性的。如果全平台的统一体验还不能满足你的话,再想想纯净安全的运行环境呢?相对于我们常见的自由奔放的Win32程序,UWP还运行在沙盒环境下,所能调用的权限和资源都十分严格,再加上UWP来源于唯一的应用商店(没错,UWP是个封闭的平台),安全性自然更有保证。此外因为沙盒环境下涂销空间(Scratch Space)式的硬件与内存管理,自然对于硬件资源要更加无欲无求。因此,除了一些特定的专业工作任务,一般的轻度用户完全可以尝试用UWP代替Win32应用。

一、全平台、体验统一

想象一下吧,在你的手机(别买Lumia)、手环、平板、PC、Xbox、Surface Hub、HoloLens、IoT等所有可以跑Windows 10的设备都可以体验无差别的、统一的、云同步的应用体验,开发难度也并不高。而且微软在推广Windows 10上的力度已经比Windows 8要高的多了。

二、轻量化、体积小巧

轻量化的身型是UWP另外一个重要优势,以foobar2000为例,大小仅为13.5MB,Blueflap浏览器大小为35.4MB,小巧的应用往往可以做到传统几百兆的Win32程序能够做到的事,再加上更加灵活线性的空间管理技术,在和Win32程序对比时更加有优势。

三、运行于沙盒环境,来源封闭,危害度低

封闭的iOS的安全性一直为果粉赞颂,其实因为UWP的来源都是统一的应用商店,UWP也算作是封闭的沙盒应用平台,只不过这个平台里面包含的设备实在太多了。由于沙盒机制本身的特点,以及统一市场的审核,UWP有着更乐观的安全表现,起码出现“油腻的师姐”弹窗或是安装的可能性是没有的。

四、配置低,优化得当,内存占用低,适合洁癖与强迫症患者。

得益于沙盒机制的特点,UWP的内存和硬盘占用于Win32程序并不一致,沙盒应用不会危及操作系统的一个原因就是无法永久的在硬盘上写入资料,占用内存也受到更多的限制,所以即使是老旧的机器也可以跑得动UWP。

五、标准规范、设计美观

当然,每一个平台存世之处,精品都是少数。下面是一些小编自己推荐的优秀UWP,特别是SpotBright,建议大家尝试体验一下

优秀UWP推荐:

SpotBright——专门下载Windows聚焦壁纸,6元去广告

Perfect Weather——可能是最好看的天气应用

哔哩哔哩

Foobar2000

Wikio--维基百科第三方应用

Loadkit——TorrentBT下载工具

当然,如果你也知道哪些你认为优秀的UWP,请一定要在评论中分享给大家

上一篇:APEC2016技展会即将开幕小觅机器人将携最强大脑亮相
下一篇:北森人力资源测评系统高效的人力资源管理与发展平台