既然我们已经阐述了关于“抨击苹果”以及“他们是最糟糕的”这一部分内容,我很想知道关于支持向后兼容性的政策是什么。大多数(如果不是全部)产品团队都会发布他们的向后兼容性政策,有些政策比其他政策更宽松。幸运的是,技术在不断进步,而不幸的是,这也给大多数技术的有效寿命设定了到期日。
关于 @codev 提出的问题,我也很好奇,因为我正准备部署 Discourse,但有可能一些用户使用的是老旧设备。正如 @Ed_S 所暗示的,这可能是我需要考虑的问题,需要另寻他处。
就我个人而言,我使用的一些技术已经使用了 5 年以上,我的家人也有一些设备比这更老旧。我认为我不是唯一有这种情况的人。值得称赞的是,苹果的硬件非常坚固(这意味着它通常能很好地超越所支持的软件),而且总的来说,他们确实为向后兼容性提供了慷慨的支持。
软件和安全框架在不断进步,尤其是在当今这个时代,由于许多东西都是相互依赖的,因此需要进行升级。我认同为了安全而升级的说法,但是,不再支持某个版本的东西,仅仅因为它不再“出货”,并不意味着没有用户仍在继续使用该技术。
如果有人要争辩说,“嘿,我需要支持那些使用 1993 年非 SSL 浏览器的客户”,我同意这很荒谬。然而,如果我们说你只能使用 N-1 版本(例如,只在过去 18 个月内出货的版本),那么不是每个人每 6 个月都在升级。
例如,Firefox 为旧平台提供了 ESR(扩展支持版本)。这对 Firefox 和需要 ESR 的用户来说是件好事。然而,如果供应商(例如 Discourse)因为一个愚蠢的浏览器版本号不匹配他们预定义的/硬编码的最低版本字符串而不支持某些东西,那么这一切就变得毫无意义了。如果需要特定的框架,那是一回事——如果仅仅是“版本 1 不等于 2”,但否则它就能工作,那真的很不幸。我看到越来越多的人对支持早期版本缺乏兴趣。这是一个令人失望的趋势。如今在 80 年代末和 90 年代出生的一代工程师,是在一种“必须不断升级”的文化中成长起来的。
我知道我在这里跑题了,感谢你的艺术创作许可。我不想忽略 @codev 最初的疑问。这个问题很重要,尤其是在 Discourse 在沟通和社区方面提供了如此有意义的作用的情况下。