创建自己的功能标记服务(iOS示例)

首先,我要说的是,这里有很多很棒的平台,它们的软件比这还先进,并且这可能不是每个人的完美解决方案。 这是一个易于实现,免费且易于实现的解决方案,但代价是缺少功能和用户友好的仪表板。

什么是功能标志?

最简单形式的功能标志只是给定键的true或false值。 功能标记通常用于测试项目中的新功能,因此使用前缀“功能”。

想像一下您有一个应用程序,并且想要启动一个全新的主页,但是由于它的功能很大,因此存在很大的风险。 如果您可以完全支持这两种方法,直到知道新的方法稳定下来,而不是完全替换它,该怎么办? 使用功能标志,您可以执行此操作。 例如,当用户启动应用程序时,您可以检查是否启用了新的首页功能标记。 如果是这样,请加载新主页,否则加载旧主页。

我的应用很小,用户很少,我是否还需要使用功能标志?

没有快速答案。 这实际上取决于您的项目和项目要求。 就我个人而言,我是一个狂热的粉丝,但是这篇文章不是关于为什么的论据,而是关于如何做的论据,所以让我们开始吧。

第1部分:配置

为您的项目创建功能部件标记服务分为3部分。 这是第1部分,涵盖了我们将在客户端内进行交互的配置文件。

由于它的灵活性和可读性,我们将用JSON编写此配置文件。

在编写此文件之前,让我们确定该文件的要求:

  1. 密钥:这将是我们在客户端中引用以获取布尔值的标志的名称。
  2. 启用:这是一个布尔值,告诉客户端是否启用了该标志。

这就是我们所需要的。 如果愿意,我们可以添加更多字段,例如名称和描述,但是为了本教程的缘故,我们将使其简短而切合实际。

让我们创建我们的config.json文件:

第2部分:主持人

这部分是您可以选择的地方。 在本教程中,我仅涉及该文件的公共访问。 我可能会做有关如何私下托管它的其他教程,请告诉我您的想法。

选项1:Github

一种选择是将该文件托管在公共GitHub存储库上或公共GitHub gist上。 这是我最喜欢的方法,因为GitHub提供了GUI来编辑文件,因此随时可以轻松更新。

选项2:您的域

另一种选择是将其托管在您自己的网站上。 然后可以通过http://yourdomain.com/config.json访问它

第三部分:客户

对于此示例,我们将在Swift中构建客户端。

请注意,在Swift中有多种方法可以进行网络通话。 为了本教程的缘故,所有标志都被提取并存储在本地(提取完成后会触发通知)。 如果您在第一次调用之前尝试获取,则所有标志都将返回false。

首先,首先创建一个新的Swift文件,并将其命名为“ FeatureFlagClient.swift”

这就是我们的客户端配置。 让我们学习如何使用它。

在您的应用程序委托中。 使用新的config.json端点配置新的FeatureFlagClient

现在,要检查功能标志的值,请使用以下命令:

  FeatureFlagClient.isFlagEnabled(“ new-feature-1”) 

开始的结尾

这只是功能标记之旅的开始。 它们非常强大,并具有大量更高级的用例,例如A / B测试等。