开发者资讯

 首页 > 开发者资讯 > 编程开发 > 设计出优秀有吸引力API的七大要诀

设计出优秀有吸引力API的七大要诀

分享到:
【字体:
导读:
          一个超棒的API必定经过一番精心设计,肯花大量时间、站在用户角度思考问题,这样用户使用起来才会事半功倍。那么这样的API需要具备什么样的条件呢?

越来越多的公司加入Open API行列,那么,设计师该如何设计出功能目标明确、拥有良好用户体验且据吸引力的API呢?要知道,良好的接口设计可以降低系统各部分之间的相互依赖,提高组成单元的内聚性,降低组成单元间的耦合度,从而提高系统的维护性和稳定性。

一个超棒的API必定经过一番精心设计,肯花大量时间、站在用户角度思考问题,这样用户使用起来才会事半功倍。那么,这样的API需要具备什么样的条件呢?
 

有的放矢

APIs不单单是程序的复制品。它是在我们的核心应用不能解决问题时,担当数据分析的角色。

如果一味追求“做到所有想做的”,那么我们的APIs可能会因此变得臃肿而过于复杂。所以好的API必须追求用户体验,有切实可行的目标。
 

追求极简

如果一款应用的某个功能一时是A一时是B,那么用户将会给逼疯的。Dropbox核心API在简化这方面就做得不错。其面向的操作对象是单一的,提供了读取metadata,读取/下载数据共三个操作。开发者可以方便地使用它来进行二次开发,做出功能更丰富的应用。
 

简易的说明

简明扼要的文档能让用户在短时间内掌握相关的使用方法,缩短开发用时,比方说Github提供的使用说明。这些将能有助于用户了解不同的使用场合,从而更有信心地创建更复杂的应用。
 

支持OAuth2协议

OAuth2.0是OAuth协议的下一版本,更关注客户端开发者的简易性。想象下如果登录程序时,用户不仅需要用户名/密码还得需要安全令牌,那么难道你不想立马换一个程序吗?

事实上,目前几乎所有的API都是这样做的。因此用户不得不花费多余的时间来完成用户认证。认证是需要的,但用户可不这样想。所以不妨参考下OAuth2 规范对此作出改善。
 

多权限设置

当用户被要求对第三方应用进行权限认证时,考虑最多的一个问题是:这对于我的个人数据有什么影响?

很多时候,答案是所有权限,这难免会让用户觉得存在风险。GoogleDrive API做得就不错,它允许开发者对权限进行管理。这样做出的程序会让用户感觉舒服。
 

清晰的错误或无误信息反馈

开发者在使用API过程中可能会出现错误,或许是不熟悉,或许是收到了限制;无论是什么,我们建议,以HTTP错误代码形式加以说明。

及时的、清晰的反馈有助于用户明白错误的来龙去脉。HTTP错误码一般不会引起歧义并含有清晰的错误阐述,所以建议由此入手。
 

提供变更检测机制

APIs一般是透过internet进行访问,如果不对每个调用进行检测,那么很有可能会加重服务器和用户带宽的负担。因此使用合理的变更检测机制(如ETags)进行检测是很有必要的。

以上所说的或许看起来比较基础,但是我们应该引起重视;坚持从源头抓起,从小处着手,才能做出最终让用户满意的作品。
 

来自:Medium

分享到:
一篇三分钟就可以看完的Git教程更短时间...
更短时间内就能看完的Git教程。当然,这是指最简单的Git!但是对于新手个人开发者来说足够了,同时也给你提供一个可以继续深入的起点。   能够从本指南有所收获的例子也许是这样的,一个高中生正在进行他(或是她)的第一个项目,而且并不需要和别人分享代码。(具体讲其实是我儿子,他已经写了很多代码,但是没有时间去...
43个在GitHub上的优秀Swift开源项目推荐
拥有着苹果先天生态优势的Swift自发布以来,各种优秀的开源项目便层出不穷。本文作者站在个人的角度,将2014年Swift开源项目做了一个甄别、筛选,从工具、存储、网络、界面、框架到Demo以及完整应用等,满满的干货。 作为一门集百家之长的新语言,Swift拥有着苹果先天的生态优势,而其在GitHub上各种优秀的开源项目也层...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……