好的、坏的和丑陋的 API:与 Michele Titolo 的 FutureTalk [视频]

一则或许对你有用的小广告

欢迎加入小哈的星球 ,你将获得:专属的项目实战 / 1v1 提问 / Java 学习路线 / 学习打卡 / 每月赠书 / 社群讨论

  • 新项目:《从零手撸:仿小红书(微服务架构)》 正在持续爆肝中,基于 Spring Cloud Alibaba + Spring Boot 3.x + JDK 17...点击查看项目介绍 ;
  • 《从零手撸:前后端分离博客项目(全栈开发)》 2 期已完结,演示链接: http://116.62.199.48/ ;

截止目前, 星球 内专栏累计输出 63w+ 字,讲解图 2808+ 张,还在持续爆肝中.. 后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,权限管理,Spring Cloud Alibaba 微服务等等,已有 2200+ 小伙伴加入学习 ,欢迎点击围观

本文由 Christian Sinai 撰写。 Christian Sinai 负责管理 New Relic 的 FutureTalks 演讲系列。他是前建筑师(强调可持续设计)和科技创业企业家。查看 的帖子。

在最新的 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 上关注我们,了解即将举行的活动的最新进展和更新。

相关文章