最近在我们的团队中,我们讨论了是否在API响应中使用颜色。例如
{
"message": "Hello",
"color": "red"
}
与
{
"message": "Hello",
"type": "danger"
}
对于第一个选项,专业人士是
- 如果你需要更改某些元素的颜色,你不必重新编译并再次将你的应用程序提交到AppStore
缺点是
- 您不能将所有颜色推送到API,其中一些颜色仍然是硬编码的
- 如果你改变了一种颜色,你就必须改变所有其他类似的颜色,否则你就有可能拥有圣诞树应用程序,其中有一堆略有不同的红色
对于第二个选项,专业人士是
- 你有纯粹基于信息的API,你自己决定你的ui应该是什么样子
缺点是
- 如果你需要更改某些颜色,你需要重新编译你的应用程序,并将其再次发布到AppStore,这有时可能需要一段时间
亲爱的朋友们,你对这两种不同的方法有什么看法?请给出一些论据来证明我的观点或回避它。其他大公司是如何设计他们的API的?我从未见过API提供颜色,但我也没有见过很多API。
非常感谢
API旨在提供一种访问纯数据的方法,而无需任何UI内容,因此,第二个选项更"正确",因为它只指定类型,而不指定其外观。有了这个选项,任何东西都可以使用API并决定每种消息类型的外观。
正如Miller所解释的,API应该独立于UI部分,这意味着你应该总是从API向UI获取数据,然后从UI模块决定如何处理。
我认为你不会改变任何信息的颜色,就像危险总是红色,好总是绿色一样。
所以不用担心重新编译其他东西。在大多数情况下,您将添加颜色而不是更改。
如果您还想讨论更多,请详细解释您的用例和应用程序。