本文由 Christian Sinai 撰写。 Christian Sinai 负责管理 New Relic 的 FutureTalks 演讲系列。他是前建筑师(强调可持续设计)和科技创业企业家。查看 Christian Sinai 的帖子。
在最新的 New Relic FutureTalk 中,应用程序开发人员兼 Women Who Code 的首席技术官 Michele Titolo 分享了她在 API 设计和实施方面的最佳(和最差)实践方面的来之不易的智慧。凭借五年多构建 iOS 应用程序的经验,Michele 了解了整个 API,从圆滑成功的 API 到笨拙且功能失调的 API。她为构建用户友好的应用程序而感到自豪,并且了解良好的 API 设计对于为开发人员和最终用户提供积极的体验至关重要。事实上,在强调简单性和一致性的价值时,Michele 表明用户体验应该是任何使用 API 工作的人的首要考虑。
“当涉及到构建真正出色的 API 时,”她说,“这很大程度上取决于开发人员的体验。但它最终真正涉及的是用户体验。如果你有一个糟糕的 API,你真的很难向你的用户掩饰这个事实。”
保持真实
米歇尔提托罗
如今移动设备无处不在,这意味着所有应用程序(和 API)都必须以移动设备为先,或者至少对移动设备友好。积极的移动用户体验的一个关键方面是身份验证。 Michele 建议坚持使用广泛使用的协议,例如通过 SSL 部署的 HTTP Basic Auth。 OAuth 等替代协议虽然适合一般 Web 使用,但在涉及移动设备时可能会出现问题,通常会干扰典型的移动体验。
米歇尔还强烈建议不要尝试任何类型的 DIY 身份验证。她的建议?交给专家吧:“有一些非常聪明的人创造了加密方法和安全协议,”她说,“你或许应该让他们完成他们的工作并使用他们的产品。”
发送正确的(错误)消息
错误是不可避免的。但是,无法理解的错误消息不是。当您热切地处理您的 API 时,错误和它们生成的消息可能会在您的优先级列表中滑得很远。但是尽早建立一个好的系统可以带来好处。错误消息越具有描述性(和可读性)越好。这样,无论是开发人员还是最终用户遇到它们,这些消息实际上都是有用且有建设性的。
否则,米歇尔警告说,你只是在说,“有问题!”无需引导您的用户寻求解决方案。
缓存快,缓存对
缓存不是强制性的。但根据 Michele 的说法,它应该如此——尤其是对于为移动设备构建的 API 开发人员而言,如今几乎所有的开发人员都这样做。她使用过许多没有缓存的 API,并且在每种情况下都遇到了问题。这尤其令人沮丧,因为已经存在大量出色的 HTTP 标准(例如 Cache-Control 之类的标头),其中内置了您需要的一切。就像 DIY 身份验证会产生不必要的问题一样,尝试手动处理和缓存数据会减慢速度.这是个坏消息,因为用户越来越需要快速响应。
“人们期望事情真的非常非常快,”米歇尔说。 “客户端要做的事情越多,需要的时间就越长,用户也会越不开心。”
如果您的用户不满意,则说明您的 API 没有发挥应有的作用 — 至少目前还没有。
要了解有关 API 实践的好、坏和丑的更多信息,请观看下面 Michele 的完整 FutureTalk:
有关我们的 FutureTalks 系列的更多信息,请确保加入我们的 Meetup 组 New Relic FutureTalks PDX ,并在 Twitter @newrelic 上关注我们,了解即将举行的活动的最新进展和更新。