移动应用程序的API,如果其中有颜色的话



最近在我们的团队中,我们讨论了是否在API响应中使用颜色。例如

{
  "message": "Hello",
  "color": "red"
}

{
  "message": "Hello",
  "type": "danger"
}

对于第一个选项,专业人士是

  1. 如果你需要更改某些元素的颜色,你不必重新编译并再次将你的应用程序提交到AppStore

缺点是

  1. 您不能将所有颜色推送到API,其中一些颜色仍然是硬编码的
  2. 如果你改变了一种颜色,你就必须改变所有其他类似的颜色,否则你就有可能拥有圣诞树应用程序,其中有一堆略有不同的红色

对于第二个选项,专业人士是

  1. 你有纯粹基于信息的API,你自己决定你的ui应该是什么样子

缺点是

  1. 如果你需要更改某些颜色,你需要重新编译你的应用程序,并将其再次发布到AppStore,这有时可能需要一段时间

亲爱的朋友们,你对这两种不同的方法有什么看法?请给出一些论据来证明我的观点或回避它。其他大公司是如何设计他们的API的?我从未见过API提供颜色,但我也没有见过很多API。

非常感谢

API旨在提供一种访问纯数据的方法,而无需任何UI内容,因此,第二个选项更"正确",因为它只指定类型,而不指定其外观。有了这个选项,任何东西都可以使用API并决定每种消息类型的外观。

正如Miller所解释的,API应该独立于UI部分,这意味着你应该总是从API向UI获取数据,然后从UI模块决定如何处理。

我认为你不会改变任何信息的颜色,就像危险总是红色,好总是绿色一样。

所以不用担心重新编译其他东西。在大多数情况下,您将添加颜色而不是更改。

如果您还想讨论更多,请详细解释您的用例和应用程序。

相关内容