仍然保留了 Windows 3.1 UI 介面元素
【屎山 🫤】Microsoft Windows 11 作業系統深處依然隨處可見數十年前的舊版介面遺跡。翻查資深工程師 Raymond Chen 在 23 年前寫的 Blog 指出,Microsoft 保留舊介面是為了提供企業用戶過渡期的「避難所」。如今 Windows 11 依然遺留著 Windows 3.1 時代的舊介面元素,沒想到 23 年後這些舊介面一直原封不動地保留著。
據 Raymond Chen 在 23 年前 MSDN 的 Blog 中提到:「擁有一萬名員工的大型企業非常反對 UI 產生劇烈變動,因為這會迫使他們花費數百萬美元重新培訓員工。」當時 Microsoft 的政策是先保留舊介面作為緩衝,待新介面被大眾接受、確認無重大反彈後,再正式將舊程式碼移除。
然而,從 2003 年至今,Windows 的開發機制逐漸偏離了這套軌道,舊的東西根本無人敢刪。若貿然撤除舊程式碼,極可能導致依賴舊架構的企業設備出現兼容性問題,因此 Microsoft 內部沒人敢背這個鍋,正所謂「少做少錯,不做不錯」,導致 Windows 11 就像一座屎山,幾十年的程式碼不斷累積下來。
導致 UI 混亂的另一個主因,是 Microsoft 的 UI 政策非常混亂,開發框架頻繁更迭,從早期的 Win32、MFC,到 .NET 時代的開發框架、具備硬體加速的 XAML、跨平台嘗試,再到 Windows 8/10 萬用 Windows 平台(UWP),如今則推進至 WinUI 3。
由於缺乏統一且穩定的原生框架,開發團隊開始依賴 WebView2 網頁封裝技術進行軟體開發。以 Windows 11 內建的「天氣」應用程式為例,這款以 WebView2 封裝的軟體在待機狀態下即消耗超過 1.2 GB 的記憶體,耗用量幾乎是 macOS 天氣軟體的 5 倍。這種現象同時延伸至第三方應用程式,如 Windows 版 WhatsApp 在閒置時記憶體占用可達 600 MB,而基於 Electron 架構的 Discord 甚至可能占用高達 4 GB 的記憶體資源。
面對多年積累的技術債,Microsoft 已經無法再塗脂抹粉,Windows 11 目前選擇直接從底層重寫程式碼,並移除長期累積下來的舊程式碼,但累積了幾十年的屎山,並非一朝一夕可以完成。