我使用Mac 很多年了,我现在的一个很明显的感受就是别太快升级你的 MacOS。尤其如果你的 Mac 是你的生产力工具。简单的说,现在的 MacOS大版本更新,很容易遇到一些奇奇怪怪的问题,有时这些问题会让你非常苦恼,尤其你会感觉买了这么贵的电脑,竟然遇到这些烦心的问题。
首先,请仔细看看,现在 MacOS 的大版本更新,究竟带来了哪些让你心动的功能。MacOS 很多更新都是针对内置 App 的,这种 Mac 原生的 App,你究竟是重度使用,还是偶尔的轻微用一下。从软件开发的角度来说,引入新功能的同时,也带来了新的 bug 的可能性,苹果现在的软件质量,感觉和早些年相比,有明显的差别。
先解释个比较重要的概念,backward compatibility:在计算机中指在一个程序、库或硬件更新到较新版本后,用旧版本程序创建的文档或系统仍能被正常操作或使用(包括输入数据)、在旧版本库的基础上开发的程序仍能正常编译运行,或较旧版的硬体仍可在新版使用的情况。
众所周知,苹果的 backward compatibility 是明显不如微软的windows 的,苹果公司的基因就是不断改变,而不太在意过去。这一点在苹果的 CEO 乔布斯身上表现的比较明显,比如当年不支持 Adobe 的 flash。苹果的操作系统旨在与最新的硬件和软件配合使用,因此要保持与旧设备和软件的向后兼容性是一项挑战。 此外,苹果通常会优先考虑新功能和更新,而不是向后兼容性。
微软特別强调维持软件的向下兼容性。为了实现这一目标,有时微软甚至不惜支持使用非官方甚至滥用 API 的软件。例如,Microsoft Excel 仍将 1900 年视为闰年,而基于早期版本的 Lotus 1–2–3 也存在同样的问题,如果加以修正,将会带来更多麻烦。这就是所谓的 “错误兼容性”。考虑向后兼容性会给开发工作带来负担,甚至付出高昂的代价,尤其是在多次升级之后。
所以 Mac 的大版本升级,会带来系统 api 的改变,往往需要 Mac 生态的开发者积极适配新系统,所以,如果你使用了较多的第三方软件,在更新大版本的操作系统前,要先确认你重度使用的 APP 是否适配了最新的操作系统。升级系统前,最好先做好系统备份,使用苹果内置的 Time Machine,以免升级后遇到问题,需要重装系统。
我现在的态度是,非必要不升级。要升级,也不当头一批小白鼠。