API开发体验是一个相对较奇特的关注点,之所以受到关注,是因为这样的体验能提高API的程序设计水平,当开发者在编写程序的时候,夯实无缝的开发体验是多么的重要,不但能帮助程序员提高编程效率,还能让开发人员站在终端用户的角度来实现功能目标。
Jeremiah Lee Cohick是 Fitbit 公司的一名工程师,对较为广泛的开发体验(DX)领域里的用户体验、框架API体验有着特别的理解和感受。DX包括程序员和他们的开发平台之间的多方面关系,如信任、教育、工具和平台的可用性等等。需要特别强调的是,Cohick将“API体验”直接描述为“API用户体验”,这种体验上的转变最终会演变成开发阶段影响编写代码的关键部分。在2014年举办的一次Web Directions大会上,Cohick在演讲中就明确定义了可达到API卓越目标的四个关键部分:
根据Cohick所说的,一旦API具备了上述所有的必选条件,其给开发者带来的是非同凡响的开发体验;相反,缺失某一特征或者存在明显的纰漏都将是给开发者带来痛苦和混乱的根源。
就职于Intel Mashery的产品负责人Amit Jotwani说,和API开发相关的人群确实应该认认真真的对待开发者体验这一事。下面是他给出的创建伟大API体验的十个步骤:
根据 API Academy 公司的API设计主管Ronnie Mitra的说法,多数咨询公司帮助各种开发组织改善API性能,API体验已经开始能够识别开发者了。想要创造一个优良的DX,应该先设定为四个关键目标:
在Stockholm 举办的API大会上,Mitra提出了一个框架设想,类似于Cohick之前帮助设计的伟大API,其设想里的API主要有三大支柱:功能性、可用性和体验。在这种情况下,可用性将关注的焦点从功能性/可靠性转移到开发者身上,旨在帮助API更易于使用。体验涉及到开发者对所有的API交互有一种什么样的感觉,而且这种体验是建立在功能性和可用性基础之上的。
Mitra还说,要想提供一个优异的API体验,关键点在于要深入理解它的最终用户,决不能闭门造车出门不合辙。其实这可以通过给不同的、典型的API用户进行重新定义就能搞清楚。
如果你不知道谁将会使用你创造出来的API,你根本没有办法设计API的可用性。
一旦决定确定之后,API的可用性方面可以通过几个维度估算出来,原理是基于在微软工作的 Steven Clarke 提出的理论:
同样,API体验提供了以下几个方面:参与、快感、熟悉、信任和安全,这些方面都能指导设计整个开发的全过程。最重要的是,上面提到的这几个方面都是API高可用性质量的直接体现。
查看英文原文: What is API Developer Experience and Why It Matters
感谢张龙对本文的审校。
给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ,@丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入InfoQ读者交流群 )。