Logo
Section 1 / 5

功能开关入门

获取功能开关的简要介绍。

导入

功能开关入门

获取功能开关的简要介绍。

功能开关

在设置持续部署流水线时,我们鼓励你:

尽早部署。频繁部署。让它成为文化的一部分!

自动化部署流水线是实现频繁部署成功、无惧、最重要的是避免最终用户体验出现重大事故的一个关键环节。我们应不惜一切代价避免 Web 应用用户持续中断或遇到有缺陷的体验。

什么是功能开关?

如果你不熟悉这个术语,也许以下这些说法听起来更熟悉:

  • 功能标志(feature flag)
  • 功能开关(feature switch)
  • 功能翻转器(feature flipper)
  • 条件性功能,等等

简而言之,

它是一种根据某些条件开启或关闭功能的机制。

这些条件具体是什么,完全取决于你。一些示例包括:

  • 一个基本的布尔值,控制所有用户的可见性。对所有人来说,要么开启,要么关闭。
  • 一个百分比值。10% 的用户看到新功能,90% 的用户看不到。
  • 一个日期值。工作日的上午 9 点到下午 5 点之间可见,其他时间及周末隐藏。
  • 用户资料属性,用于针对个人或特定人群,例如每周至少使用 Web 应用四次的用户。

根据你的具体情况,你可以使用其他在当前工作背景下有意义的条件。

除了上述单独的条件外,我们也可以将多个条件组合起来,使得新功能仅对之前为测试版功能提供过反馈的 Web 应用高频用户中的 5% 可见。

使用功能开关发布未完成的代码

我们使用功能开关的第一个场景是隐藏未完成的代码,从而让我们可以毫无顾虑地部署到生产环境,而不会意外破坏任何内容。

这项工作的需求可总结如下:

  • 使用 Firebase Remote Config 存储功能开关。
  • 使用 Svelte store 在客户端存储功能开关。
  • 开发一个 Svelte 组件来处理潜在的复杂性。

由于我们尚未介绍 Svelte 框架,这里只需知道:Svelte 是一个开源的前端 JavaScript 框架。目前我们只需要了解这些。后续章节中会详细解释。

现在,让我们逐一开始处理上述定义的需求。

本地开发

Firebase Remote Config