内容推荐 使用Web API为应用程序的开发者提供服务是软件工程师最具成就的工作之一。但是如何创造一个具有活跃开发者生态系统的、受欢迎的API,也是软件工程师最具挑战的工作之一。有了这本实用指南,开发者、产品经理、架构师、开发相关专业人员和技术领导都能够从中学习如何在设计、扩展、营销和持续开发可交互操作的API的复杂决策过程中找到正确的方向。 在本书中,作者阐述了API的设计理论,并针对如何构建Web API及管理API在生产环境的运行提供了实践训练。本书还将指导你学习如何围绕自己的API构建和维护开发者生态系统。本书还包括了来自Slack、Stripe、Facebook、Microsoft、Cloudinary、Oracle和GitHub等公司的专家建议、工作表、工作清单和案例研究等。 概述请求-响应和事件驱动的API设计范例。 了解如何设计满足用户需求的API的最佳实践。 使用模板创建API的设计过程。 扩展API以支持不断增长的API调用和用例。 根据产品和业务的变更定期调整API。 为开发者提供相关资源,包括API文档、示例和工具。 作者简介 布伦达·金(Brenda Jin)是一位企业家和软件工程师。作为Slack开发者平台团队的一名工程师,她的工作是为第三方开发者设计、构建和扩展API。作为Girl Develop It的董事会成员和分会负责人,Brenda为众多开源教材做出了贡献,并使数千名女性有能力学习网络和软件开发。 目录 前言 第1章 什么是API 为什么我们需要API 谁是我们的用户 API的商业案例 内部开发者优先使用,外部开发者次之的API 外部开发者优先使用,内部开发者次之的API 作为产品的API 如何让API更出色 小结 第2章 API范式 请求-响应式API 表现层状态转换REST 远程过程调用RPC GraphQL 事件驱动式API Web Hooks WebSocket HTTP Streaming 小结 第3章 API安全 身份认证和授权 OAuth 令牌生成 权限范围 令牌和权限范围验证 令牌过期和令牌刷新 展示和撤销授权 OAuth最佳实践 WebHooks安全 令牌验证 请求签名和WebHooks签名 双向传输层安全 精简负载和API获取 WebHooks安全最佳实践 小结 第4章 设计最佳实践 基于真实用例而设计 设计出色的开发者体验 使API能快速而轻松地入门 保持一致性 简化故障排除过程 让你的API可扩展 小结 第5章 设计实践 场景1 定义业务目标 概述关键用例 选择技术架构 编写API规范 场景2 定义问题 概述关键用例 选择技术架构 编写API规范 验证你的决定 小结 第6章 扩展API 扩展吞吐量 找到瓶颈 添加计算资源 数据库索引 高速缓存 异步执行昂贵的操作 优化API设计 介绍新的数据访问模式 添加新的API方法 支持批量端点 添加可以筛选结果的新选项 API分页 基于偏移量的分页 基于游标的分页 API分页的最佳实践和技巧 API速率限制 什么是速率限制 实现策略 固定窗口计数器算法 速率限制与开发者 速率限制最佳实践和技巧 开发者SDK 速率限制支持 分页支持 使用gzip 缓存常用数据 错误处理和指数后退 开发者SDK的最佳实践和技巧 小结 第7章 管理更新 向上一致性 自动化测试 向下兼容性 计划和沟通更新 沟通计划 添加 删除 小结 第8章 构建开发者生态系统 开发者,开发者,开发者 业余爱好者 黑客 以业务为中心、技术精湛的用户 专业开发者 更多受众 构建开发者关系策略 开发者细分 市场规模和地域分布 提炼价值主张 定义开发者漏斗 映射当前状态和未来状态 策略概述 推导测量 小结 第9章 开发者资源 API文档 入门指南 参考文档 教程 常见问题 登录页面 更新日志 服务条款 代码示例和代码片段 代码示例 代码片段 软件开发套件和框架 软件开发工具包(SDK) 框架 开发工具 调试和故障排除 沙箱和API测试人员 富媒体 视频 答疑时间 网络研讨会和在线培训 社区贡献 小结 第10章 开发者计划 定义开发者计划 广度和深度分析 深度开发者计划 最佳合作伙伴计划 Beta计划 设计冲刺 广度开发者计划 聚会和社区活动 黑客马拉松 在活动及活动赞助中发言 培训师和大使计划 在线视频和流媒体 支持、论坛和Stack Overflow 信用计划 测量开发者计划 小结 第11章 总结 附录 API设计工作表 作者介绍 封面介绍 |