究极缝合怪的 —— Windows

4/25/2020 Ubuntu Linux

# 究极缝合怪的 —— Windows

微软出品的 Windows 份额在操作系统领域独占鳌头,Windows 的兼容性最为人称道。但正是兼容性强的这一特点,塑造出了如今的 Windows - 究极缝合怪。

  • 系统层级不统一
  • 软件层级不统一
  • UI 层级不统一

Windows 在缝合怪的这一领域也是走出了名堂,下面让我们来看一看。

# 例图

# x32 与 x64

x64 和 x32 共存

Windows 在 32 位系统转向 64 位系统的过程中,一致保持了对 32 位应用的支持。其优势很明显,保证了向后兼容,但缺点也很凸显,系统应用制式的不统一。

UWP 和 Win 32 共存【exe,msi,appx,msix,msixbundle】

  • .exe (Executable file)是 Windows 的可执行二进制文件可直接执行
  • .msi (Microsoft Installer)是 Windows 的程序安装软件,主要用来定制化软件安装过程。
  • .appx 通用Windows平台应用程序包,appx用于分发、安装应用程序到Windows通用平台(UWP)。
  • .msix 全新的安装包格式,.msi 的升级版,支持所有的Windows文件格式,包括Win32、WPF、WinForm和UWP
  • .appxbundle / .msixbundle 应用捆绑包,应用程序包可以包含多个应用包,每个包都构建为支持特定的设备体系结构

多种安装包格式并存,不同格式间的区别也并不清晰。

# 系统设置:设置 vs. 控制面板

image-20210704000450117

设置 与 控制面板 共存,同两个程序来完成同一件事,从 2015 年 Windows 10 发布至今 Windows 11,此问题一致保留,足以见得 Windows 团队的效率之高。

# 绘图:Paint vs. Paint 3D vs. Snip & Sketch

image-20210704010100641

用多种软件实现相似的草图功能

# 主题色:Dark & Light

暗色与亮色共存(指设置为暗色模式时,许多系统软件没有同步暗色化)

当主题色为暗色时,许多传统软件并没有进行同步地颜色更新。一黑一白很护眼。

# 图片视频:Movies & TV vs. Windows Media Player

视频 与 Media Player 共存

UWP 版本的应用总给人一种脆弱的感觉,很容易崩溃,体验并不好。但老应用确实有些和 Windows 10 不匹配。总结起来,还是第三方给力。

# 浏览器:Internet Explorer vs. Microsoft Edge vs. Microsoft Edge based on Chromium

IE,Edge,Edge based on Chromium 共存

先是 IE,再是 Microsoft Edge 最后 Edge 变成了 Chromium 内核,Windows 10 中是三者共存或两者共存。

# 右键菜单

新右键菜单与旧右键菜单共存

新右键菜单更适合触屏。原右键菜单被折叠到了新右键菜单的第二级,刷新都被折叠进去了,简直离谱。

# 命令行工具:CMD 与 PowerShell

CMD、Powershell 5.0 与 PowerShell 7 共存

相对而言,似乎 CMD 性能更好,但功能更能少,Powershell 写脚本更加对象化,更现代化,但性能差一些,其 5.x 版本基于 .Net Frameword, 7.0 版本基于 .Net Core。三种命令行工具在可预见的未来中,或将长期共存,相当离谱。

# 还有一些不好举例的如

  • MFC,WinForm,WPF
  • 邮箱 / Outlook UWP / Outlook 共存
  • .Net Framework 与 .NetCore,.Net 共存
  • \/

# 总结

在笔者看来,Windows 的种种不同意,归根结底是由于 Windows 在由 Win32 向 UWP 转型过渡时的策略失败,Windows 团队的低执行效率,和对旧版本的无脑兼容导致。

Windows 10 高呼开创时代的 Universal,用 UWP(通用Windows平台)打通移动端和桌面端的堑壕,同时支持桌面模式与平板模式,同时支持键鼠操作和平板触屏操作。于是开创出了 UWP 下的 Movies & TV, Photos, Settings, Calculator 等一系列更新的软件,又陆陆续续展开了 Cortana,Your Phone,一个庞大的应用生态似乎就可以初露峥嵘了。

但在另一方面,Windows 却始终没有能力摆脱也不敢尝试摆脱它的历史包袱,且策略上习惯于保守的向后兼容。Windows 在力推 UWP 的同时,又没有能力迁移 win32 平台的庞大到难以想象的用户基数。失败的 UWP 平台 API 与权限限制导致 UWP 并不如预期中的那样受开发者和用户的喜欢,它仿佛就是一个半成品,虽然即便到 2021 的今天,它依然没有太大的变化。微软习惯性地一遍又一遍地“创新”又造就了新旧版本的巨大裂隙,如 WP7 到 WP10 等, 凭空增加了本就稀缺的开发者的心智负担,工作量和时间,开罪了大批的开发者,这也间接导致了未来的 UWP 平台的没落,和依赖于 UWP 的 Windows RT,Windows S 等系统的无人问津。

回到 Windows 本身,10 版本重新开发了一系列替代原本 Win32 应用的 UWP 应用,但却始终没有移除原本的 Win32 应用。都不用深研就可以列举出来不少,如 Media Player 之于 Photos,Movies & TV,如 Control Panel 之于 Settings,如 PowerShell 之于 CMD,如 Paint 3D 之于 Paint,Internet Explorer 之于 Microsoft Edge。我想这一部分基础应用已经不单单是向后兼容的策略问题,更是 Windows 团队的低执行效率,导致 Win32 版本已过时,但 UWP 版本却一直像一个半成品,近 6 年的 Windows 10 的迭代周期里,一直未见明显的增加功能或改善体验的更新。Windows 10 甚至都不敢尝试放弃 32 位 支持,在发布近六年时间内都没有实现完全移除 IE,Media Player,Control Panel 等“过时”应用。

反而,Windows 在开发其他应用上非主体应用和其他平台的应用时,如铆足了劲一样,优化明显。说起来不得不说一说 Mixed Reality(混合现实),3D Painter 等用于艺术创新的应用,和 Hyper-V,Windows Sandbox 等虚拟机及测试相关的应用了。发布前的概念创新力十足,但发布后大都是高开低走,顶过一波高潮后就如石沉大海一样渐归于平静。就从笔者身边的 Windows 使用者来看,我也从来没有见过有谁会打开 Mixed Reality 体验混合现实的魅力,会用 3D Painter 创作,会使用 Sandbox 测试软件安全性,会使用 Hyper-V 创建管理虚拟机。

如今 Windows 平台又迎来了 Windows Subsystem for Linux,方便了无数开发者。但这无疑又是 Windows 这庞大幕布上的另一个“补丁”(与原生内容并不怎么搭配)。在可预见的未来,Windows 甚至还会将 Android 添加进生态(补丁 +1)。

一边主张开创性的创新与统一,一边又要保证极致的稳定与兼容,这完美造就了现在的 Windows 10 甚至是 11 —— 极致的缝合怪,极致的割裂感。

Windows 10 = UWP + Win32

Windows 10 = Windows + Linux

Windows 11 = UWP + Win32

Windows 11 = Windows + Linux + Android

或许在互联网逐渐移动化的今天,微软也很焦虑。

Last Updated: 10/23/2021, 4:31:30 PM