其实这一切的原因,都是微软咎由自取,看隔壁苹果的封闭生态玩得风生水起,自己也想玩一玩,结果没想到把自己的移动端系统玩死了,PC上的商店也苟延残喘。
早年Windows,无论是PC的x86系统,还是移动端的Windows Mobile,都是没有自家商店的,用户要安装APP,要么去电子商城买盘回来装,要么去官网或者各种乱七八糟的软件站下载。而Windows这系统又是极度开放的,开放到什么程度呢?双击任意位置的exe、com、bat就能立即执行,Linux还得输个./呢。安装程序也随心所欲,有放Program Files文件夹的,有放AppData的,也有不用安装解压就能跑的……而当时硬盘普遍不大,且性能不是很好,所以也就培养了用户习惯,自选路径安装,避免占用C盘影响性能。固态时代更甚,毕竟那时候的固态也就128G空间,软件都放C盘的话空间肯定吃不消。
而微软的骚操作打破了这种长久以来的用户习惯。Windows Phone 7,大刀阔斧地改革,改完UI改机制,以前的APP全都不兼容了,新的APP不能随便装了,要去商店下。用户权限也不给了,你连最基本的文件系统都看不到,更不用提各种个性化定制了,不存在的。与此同时微软的商店审核又很玄学,苹果虽然严格,好歹还有一套完整的规范,微软的商店就是一坨shit。
开发者做完APP上传审核通过,用户开心地下载APP愉快地使用,也不是不行。但微软马上就做了一件背刺开发者和用户的事,那就是Windows Phone 8将不再兼容WP7的APP,并且WP7手机不能升级到WP8。为了安抚这部分用户,微软弄出了个Windows Phone 7.9,长着WP8一模一样的脸,但还是WP7的心,依然不能运行WP8的APP,说白了就是把用户当猴耍。
这波背刺之后,本着内核统一,以后不再折腾的原则,开发者和用户选择再相信微软一次。这一次,微软带来了Windows 8。这个系统可太割裂了,硬生生将传统Win32和Metro缝合在一起,传统的Win32应用照常运行,而Metro应用就只能从应用商店下载,用户不能随意去别的地方下载安装。Metro应用会受到框架的各种限制,比如桌面歌词这种功能Metro应用就不可能实现,什么迅雷下载时显示速度的浮窗,右下角弹弹弹弹出的小广告,都不行!APP能实现的功能极其有限,只能局限于那个铺满全屏的窗口中,性能也远远打不到Win32的水平,并且当用户切到桌面或打开别的Metro应用时,当前的应用就会被自动挂起。如果剩余内存不足,还会被杀掉进程。用户也不能随意访问Metro应用的数据,整个体系都是完全封闭的,每个APP都运行在自己的沙盒中,看看是不是和iOS的机制特别像?并且所有的Metro应用都会放到C:\Program Files\WindowsApps\这个文件夹下。本来C盘空间就捉襟见肘,你还来个大的,我还没办法清理……
到了Windows 10时代,嘿!微软又整出一套UWP体系,彻底抛弃了以前的Metro!虽然说UWP应用一次编译处处运行,可一个APP同时跨PC、手机、平板,但现实情况是,UWP的限制虽然比Metro少了些,但能实现的功能还是极其有限,稳定性也远远不如Win32应用,连个计算器都能搞得各种闪退,bug满天飞我是没想到的。Win10虽然可以自主安装UWP应用了,但仍然需要执行复杂的powerShell命令和脚本,还有一个更骚的操作,那就是WIn32转置UWP,顾名思义,就是把Win32应用重新封装成UWP,抛弃原来开放的体系,进入UWP的封闭环境中坐牢。WIn32应用一旦转置成UWP,性能暴跌,功能受限,很多API都用不了,原先正常的功能转到UWP直接给砍了,谁愿意用啊!
再来说移动端。经历过WP8的洗礼,很多开发者和用户翘首以盼Windows 10 Mobile,但现实情况是,Windows 10 Mobile一直在Insider Priview,一直在修bug,一直没有一个正经的正式版。抛弃Metro也就意味着抛弃了WP8的开发者,现在还想迎来新的UWP开发者?一次又一次地背刺,一次又一次地食言,还想让开发者老老实实为你开发APP?做梦吧!正所谓树倒猢狲散,微软就这样把开发者、用户、手机厂商的耐心彻底消耗殆尽,耗死了诺基亚,也耗死了Windows移动端。
放弃了Windows 10 Mobile之后,微软这才后知后觉,赶紧放松了应用商店的管制,允许Win32应用上架了。但广大开发者仍然还是不愿意接受微软,生怕微软再搞出啥新的骚操作。于是Windows的封闭改革并未动摇Win32的分发渠道,自己的封闭体系又惨遭滑铁卢失败,用户的习惯仍未改变,微软只好回归开放,放弃UWP,将UWP限定的一些特性拿出来给Win32用,也就是现在的WinUI3。自此,微软的那条封闭僵化的“苹果路”彻底走到尽头。总算将开发者、用户该有的权利交回到他们手中。
现在从应用商店下载的Win32应用可以自由选择安装位置,原生APP可充分利用机器性能,自由地调用系统API,实现各种需求和功能。这一变革,也应用在了xbox上,从xbox下载的游戏,不再封闭文件访问权限,不再用UWP封装,去除了不必要的沙盒机制,双击exe就能运行,玩家可任意对游戏打mod、修改,此番修改,怕是被Steam逼急了吧~ |