Skip to content

每日一报

Can I Use 的风险评估

Related Links

一般特征

支持率 (caniuse 全球)典型风险等级关键考量因素与 Baseline 的大致对应关系
< 90%后备方案必须完美无缺;受众数据验证至关重要;Polyfill 可能是必需的但成本高通常在 Baseline 之前
90% - 95%中等后备方案可接受性?受众数据匹配度?特性关键性?Polyfill 成本效益?Newly Available' 区间
95% - 98%后备方案影响范围小;Polyfill 必要性降低;对多数项目是较安全的选择接近 'Widely Available'
> 98%非常低通常可直接使用;无需 Polyfill 或复杂后备;不支持的用户可能超出隐性支持范围Widely Available' 区间及以后

Baseline 计划不仅仅是一个衡量支持度的指标,更是一个可以指导特性采纳策略和规划的工具 。通过理解 Baseline 的不同状态及其含义,开发团队可以更有信心地导航 Web 平台的发展。

Baseline 计划不仅仅是一个衡量支持度的指标,更是一个可以指导特性采纳策略和规划的工具。通过理解 Baseline 的不同状态及其含义,开发团队可以更有信心地导航 Web 平台的发展。

'Newly Available' 状态

  • 信号:这是一个强烈的信号,表明某个特性已经在所有主要浏览器引擎中实现了互操作性并且趋于稳定。浏览器厂商之间已经就该特性的实现达成了共识。
  • 行动:这是开始学习、试验和评估该特性的最佳时机。团队可以开始探索该特性如何应用于未来的项目或现有项目的改进中。
  • 生产环境应用:在 'Newly Available' 阶段早期就将其投入生产环境是可能的,但这需要格外谨慎。必须仔细评估第 3 节中的所有因素,特别是:
    • 受众分析:确认项目的主要用户群体是否已经在使用支持该特性的浏览器版本(因为用户更新通常滞后于浏览器发布)。
    • 后备体验测试:严格测试在不支持浏览器中的表现,确保体验是可接受的。
    • 风险评估:结合特性关键性和项目风险容忍度,判断早期采用的风险是否可控。

'Widely Available' 状态

  • 信号:这是一个更强的信号,表明该特性不仅在技术上稳定且跨浏览器可用,而且在实际用户中也达到了广泛覆盖(通常意味着 caniuse 支持率达到 95% 或更高,甚至 98% 以上)。
  • 行动:对于大多数项目而言,此时可以非常有信心地将该特性用于生产环境。
  • 生产环境应用:在此阶段,通常可以预期该特性在绝大多数用户设备上都能正常工作,大大降低了对 Polyfill 或复杂后备方案的需求。兼容性问题预计会很少见。

理解 30 个月的窗口期

'Newly Available' 和 'Widely Available' 之间设置 30 个月的时间窗口,其核心目的是为了给用户足够的时间升级他们的浏览器。这确保了当一个特性被标记为 'Widely Available' 时,它不仅仅是被最新的浏览器支持,而且已经被实际使用这些浏览器的绝大多数用户所拥有。这个时间窗口弥合了浏览器厂商发布新版本与用户实际更新之间的差距。

Baseline 作为规划工具

Baseline 提供了一个结构化的时间线视图。'Newly Available' 标志着一个特性进入了可以开始关注和评估 的阶段,而 'Widely Available' 则标志着 可以广泛安全使用 的阶段。这种视角将决策从被动地检查当前支持率("现在支持率够高了吗?")转变为更主动的规划("这个特性何时对我们来说是安全的?")。

降低创新风险

通过提供一个清晰的、跨浏览器厂商认可的信号,Baseline 旨在降低采纳新 Web 特性的感知风险。知道一个特性达到了 Baseline 状态(尤其是 'Widely Available'),比仅仅解读分散的、可能存在噪音的 caniuse 数据更能给团队带来信心,从而在条件成熟时更愿意、更快速地应用新技术。

局限性

需要再次强调,Baseline 关注的是核心现代浏览器的支持情况,并不保证 100% 的覆盖率,也不涵盖非常小众或已停止维护的浏览器,以及辅助技术的兼容性。如果项目需要支持这些范围之外的环境,则需要进行额外的、更具体的兼容性研究。

总而言之,将 Baseline 状态作为特性采纳决策流程中的一个关键输入,可以帮助团队做出更明智、更具前瞻性的选择,更好地平衡创新需求与兼容性要求。

Contributors

No contributors

Changelog

No recent changes

Discuss

Released under the CC BY-SA 4.0 License. (41765f2)