不久前,B站UWP客户端从微软商店中下架的消息,让很多朋友心中一颤。尽管不久后,B站UWP客户端又重新上架,这只是微软商店的操作,并非B站本意,但也让大家切身体会到了UWP应用的颓势。
事实上,不久前B站官方已经推出了Win32版的客户端,并将其放置到了官网发布,微软利用应用商店推广UWP应用的蓝图,似乎从这一典型事件中,就可以看到破灭的迹象了。
甚至,这并不是迹象。此前,微软就在Windows应用程序的开发文档中透露,主推Windows App SDK和WinUI 3开发,UWP不再作为开发基础。UWP此后只会收到“错误、可靠性和安全修复”,不会再引入新功能。
因此,UWP事实上已被微软弃用,这个曾经被寄予厚望的微软新生态的引擎,已经成为了时代的弃子。
很多大厂都曾经试水UWP,在微软的微软商店中发布了UWP应用,例如微信UWP版、QQ UWP版、网易云音乐UWP等等。然而时过境迁,这些UWP应用有的停止更新,有的干脆下架,有的甚至被替换成为了Win32制作的版本……对于UWP的爱好者来说,这无疑是沉重的打击。
微软在Windows系统中,推行应用商店,其目的很大程度是推行新的开发规范,如UWP。但现在,UWP已经被放弃,Windows应用商店增添了Win32软件的支持。
问题在于,人们普遍认为Win32软件并不需要微软商店支持,Win32软件不存在发行渠道限制,更多开发者还是喜欢自由发行,例如B站官方就只在官网上架Win32客户端。
此情此景下,微软商店存在的意义何在?微软不久前还借Windows 11的东风,对微软商店进行了一次改版,但微软商店要怎么改、提供怎样的服务,才能符合未来发展趋势?今天我们就来简单聊聊吧。
首先我们需要探讨,在如今UWP式微的大背景下,微软商店还有没有用?答案是肯定的。微软商店并不仅仅是第三方软件应用的分发渠道,它实际上已经成为了Windows Update的重要组成部分。在Windows系统变得越来越模块化的今天,微软将大量Windows预装应用、功能拆分出来,交由微软商店提供升级维护。
细心的朋友应该可以观察到,即使没有升级Win11,但Win11的很多自带应用,例如记事本、媒体播放器、应用安装程序等等,仍会通过微软商店更新,用户得以第一时间体验到微软最新的产品。
在以往,无论是Windows自带的软件,还是系统模组,往往都需要跟随者系统升级才得以更新。而引入了微软商店后,Windows Update得以扩大化,Windows可以单独升级某个系统应用和模块,微软对系统新功能的推送更及时、更便利。
实际上,微软也的确利用这项机制,来弱化新功能和系统版本之间的绑定。例如,微软商店推送了新闻和资讯小部件更新,无论是Win10还是Win11,都可以获得一样的体验。
Windows已经逐渐转型为服务型产品,微软还将会在未来同步为用户推出更多服务。在这样的大背景下,微软商店作为可以直达用户的桥梁,重要性不言而喻。
Windows的软件之丰富人尽皆知,但如果说Windows软件的安装、管理体验,恐怕就很难恭维了。
长久以来,Windows缺乏包管理机制,这导致用户想要在Windows系统上安装某个软件,并不能直接在系统中完成,而是需要自行到网上寻找安装包,带来了大量安全相关问题。而安装了软件后,想要更新该软件,往往也不能通过系统完成,需要软件自行升级,或者用户自行寻找新版安装包,Windows上大量软件停留在远古版本实属常态。在软件管理方面的体验,Windows不仅不如同为商业竞争对手的macOS,甚至也远不如免费开源的Linux!
没错,在Linux上安装软件,甚至都要来得远比Windows轻松惬意。大量的Linux发行版,都具备包管理机制,可以通过软件源来统一安装、升级软件。以Manjaro为例,想要安装Chrome,只需要在系统自带的应用商店中安装,或者在终端输入“yay -S google-chrome”,即可完成,完全不需要到软件官网或者下载站找安装包。
而Linux如果想要升级软件,那就更方便了。Manjaro通过应用商店即可一键将所有软件、包括系统本身乃至附带的各种组件升级到最新版,也可以通过终端命令行“sudo pacman Syu”这样的简短命令完全更新系统和软件,如此快捷便利的体验,是Windows所没有的。
因此,微软商店的一大意义,就在于弥补Windows的软件管理方面的短板。前面提到,Windows已经将越来越多的系统组件和预装软件交由微软商店接管,通过Windows Update服务自动更新系统和附属组件。微软商店增添对Win32软件的支持,有利于打造更好的软件管理体验,追赶竞争对手的步伐。
实际上,微软去年就已经发布了winget包管理工具,但支持的软件包仍偏少。在未来,微软一定会采取更多措施,来促使大量的Windows软件纳入winget和微软商店当中,补全软件管理方面的短板。
目前微软商店支持了传统Win32软件,但用户是否愿意到微软商店中下载Win32软件,又是另一回事了。通过商店安装的软件,若体验上没什么优势,大家就很难有利用去帮衬商店,微软商店的成功也就无从谈起。那么在这方面,有没有成功的案例?Steam这个全球最流行的游戏商城就是了。
对于微软商店的Win32软件,用户和开发者都提不起兴趣
游戏的的分发,可比普通软件来得水深,涉及利益分配、版权保护等多个足以撕上无数年的议题,而Steam之所以能让大量玩家乐意放弃盗版白嫖、乖乖购买正版,其核心原因是Steam的确大幅提升了游戏方方面面的体验。
例如,Steam提供了存档接口,游戏可以将存档保存到Steam云端,用户在任何设备登录Steam能够同步游戏进度;
又例如,Steam提供了软硬件环境检测,并自动安装游戏相关的依赖包,例如DX、C++运行库等等,这让玩家免去了配置游戏环境的烦恼;再加上Steam对外设的支持、成就系统的引入以及游戏数据的统计乃至社区、工坊系统等围绕游戏所做的种种文章,Steam的确显著提升了游戏游玩体验的天花板。
目前的微软商店,显然没有做到这个程度。软件上架了微软商店后,用户无法在不同设备上同步软件的配置,微软商店也无法自动为软件安装.NET之类的依赖库,甚至软件上架了微软商店后,它的安装目录还会被隐藏得更深,软件的可定制性变弱……普通Win32软件上架了微软商店后,其体验甚至不如自主安装的版本,要如何用微软商店带来更好的软件体验、而并不仅仅只将其作为软件资源的集散地,显然是微软值得去努力探寻的方向。
从技术的层面上,微软商店有能力带来更好的软件体验,Linux的包管理系统都可以自动安装软件所需的依赖包,为何Windows就无法做到?希望微软在未来对微软商店的改造,并不局限于外观UI,而是带来更多改善体验的内在功能和服务吧。
如果广大用户的存在能让软件生态枝繁叶茂,那么众多开发者无疑就是这颗大树深扎的根基了。微软商店需要给开发者带来足够的利好,才能吸引到诸多软件在其中上架——UWP之所以失败,开发者无利可图、甚至开发起来束手束脚,也是重要原因。实际上,微软也意识到了这点,目前已经在这方面开展了一系列工作。
微软在Build 2020开发者大会上推出了新的开发套件Windows App SDK,它让Win32软件的开发也可以用上最新的WinUI 3,并得以适配Win11新系统特性诸多特性,例如电源管理、应用窗口管理、进程周期管理等等。
使用Windows App SDK开发的软件,主要以MSIX的方式打包并上架微软商店。既然能更好适配新系统特性、带来更好的体验,开发者就有动力使用Windows App SDK开发软件并将其上架微软商店了。
Windows App SDK可以让Win32软件更容易支持更多系统新特性
在不久前召开的Build 2022开发者大会上,微软还宣布推出了商店广告系统,如果软件上架了商店,则可调用该系统增收。从描述来看,这个广告系统和Google广告有相似之处,通过微软背后的算法支持,来投放个性化的广告,还是比较靠谱的。
此外,微软商店还可以让开发者的应用服务于更多平台。尽管Win32软件并不具备跨平台的能力,但微软目前正在力推云电脑——Windows 365云电脑已经箭在弦上,如果软件上架了微软商店,那么云电脑也可以轻松通过商店运行该软件。能够让软件适配更多平台、服务更多的用户,这点对于开发者应该还是颇具吸引力的。
微软商店肩负着维护Windows系统组件的重任,它对于Windows生态和未来形态的意义是不言而喻的,UWP的衰败并不影响微软商店的战略地位。目前,微软商店的最大问题在于对用户和开发者都没有强劲的吸引力。
由于历史原因,Windows的主流软件并没有发行渠道的限制,如果微软想要吸引诸多Win32软件上架,就必须让微软商店提供更多更有价值的服务,让微软商店本身乃至在其中上架的软件能带来更好的体验。希望微软商店能够参考Linux包管理、Steam等优秀案例,为人们带来更好的体验吧。