移动应用的API,它应该有颜色吗?

时间:2014-10-11 14:05:38

标签: api-design

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

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

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

第一个选项专业是

  1. 如果您需要更改某些元素的颜色,则无需重新编译并再次将您的应用提交至AppStore
  2. 缺点

    1. 您不能将所有颜色都推送到API,其中一些仍然会被硬编码。
    2. 如果您更改了一种颜色,则必须更改所有其他类似的颜色,否则您将面临圣诞树应用程序的风险,其中有一堆略有不同的红色。
    3. 对于第二个选项,职业选手

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

        1. 如果您需要更改某种颜色,则需要重新编译您的应用并将其再次发布到AppStore,这有时可能需要一段时间
        2. 亲爱的朋友们,您如何看待这两种不同的方法?请提出一些论据来证明我的观点或避开它。其他大公司如何设计他们的API?我从未见过提供颜色的API,但我还没有看到很多API。

          非常感谢

2 个答案:

答案 0 :(得分:1)

API旨在提供一种访问纯数据的方法,而不需要任何UI内容,因此,第二个选项更多"正确",因为它只指定类型而不是它应该如何看。使用此选项,任何内容都可以使用您的API并决定每种消息类型的外观。

答案 1 :(得分:1)

正如Miller所解释的,API应该独立于UI部分意味着您应该始终从API获取数据到UI,然后从UI模块决定如何处理。

我认为你不会为任何经常喜欢危险的消息改变颜色,而且好的总是绿色。

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

如果您还想讨论更多内容,请详细说明您的用例和应用程序。