新書推薦:
《
ARM嵌入式Linux系统开发详解(第3版)
》
售價:NT$
595.0
《
长寿时代:做自己人生的CFO
》
售價:NT$
310.0
《
早点知道会幸福的那些事
》
售價:NT$
295.0
《
知宋·宋代之货币
》
售價:NT$
340.0
《
爱的7种对话:建立持续一生的亲密关系 (加)苏·约翰逊
》
售價:NT$
345.0
《
中国近现代武术思想史研究
》
售價:NT$
500.0
《
废奴
》
售價:NT$
350.0
《
有法与无法:清代的州县制度及其运作 最新修订版
》
售價:NT$
640.0
編輯推薦:
在本书中,作者阐述了API的设计理论,并针对如何构建Web API及管理API在生产环境的运行提供了实践训练。本书还将指导你学习如何围绕自己的API构建和维护开发者生态系统。本书还包括了来自Slack、Stripe、Facebook、Microsoft、Cloudinary、Oracle和GitHub等公司的专家建议、工作表、工作清单和案例研究等。
“选择创建和支持一个公用API意味着承担重大责任,本书可以使你能够更容易避免陷阱,以及学会如何创建出繁荣的开发者生态系统。”
——Cal Henderson
Slack公司的CTO
“本书是API理论、设计、架构,以及如何获得成功的*的最全面的指南。”
——Lichard Hyndman
Google Launchpad Accelerator的技术负责人
“不管你是创建API还是使用API,本书是所有开发者的必读书籍。”
——Yochay Kiriaty
Microsoft Al & Research的团队项目经理
內容簡介:
·概述请求-响应和事件驱动的API设计范例。
·了解如何设计满足用户需求的API的*实践。
·使用模板创建API的设计过程。
·扩展API以支持不断增长的API调用和用例。
·根据产品和业务的变更定期调整API。
·为开发者提供相关资源,包括API文档、示例和工具。
關於作者:
Brenda Jin是一位企业家和软件工程师。作为Slack开发者平台团队的一名工程师,她的工作是为第三方开发者设计、构建和扩展API。作为Girl Develop It 的董事会成员和分会负责人,Brenda为众多开源教材做出了贡献,并使数千名女性有能力学习网络和软件开发。Saurabh Sahni是Slack开发者平台团队的一名工程师。在过去的八年中,他一直在构建和设计开发者平台和API。在Slack工作之前,Saurabh领导了一个负责Yahoo! 开发者网络基础架构和开发者工具的工程师团队,在那里他帮助推出了Yahoo! 移动开发者组件和一些API。Amir Shevat是Twitch的开发者经验副总裁。过去15年来,他一直在Slack、Microsoft和Google围绕API构建开发者产品、API和生态系统。他也是《Designing Bots》(O’Reilly)的作者。
目錄 :
目录
前言 1
第1 章 什么是API 9
为什么我们需要API 10
谁是我们的用户 10
API 的商业案例 11
内部开发者优先使用,外部开发者次之的API 12
外部开发者优先使用,内部开发者次之的API 13
作为产品的API 14
如何让API 更出色 15
小结 16
第2 章 API 范式 17
请求?C 响应式API 17
表现层状态转换REST 18
远程过程调用RPC 21
GraphQL 22
事件驱动式API 28
WebHooks 28
WebSocket 31
HTTP Streaming 32
小结 34
第3 章 API 安全 37
身份认证和授权 37
OAuth 39
令牌生成 40
权限范围 42
令牌和权限范围验证 44
令牌过期和令牌刷新 46
展示和撤销授权 47
OAuth 实践 48
WebHooks 安全 52
令牌验证 52
请求签名和WebHooks 签名 53
双向传输层安全 54
精简负载和API 获取 55
WebHooks 安全实践 55
小结 56
第4 章 设计实践 57
基于真实用例而设计 57
设计出色的开发者体验 58
使API 能快速而轻松地入门 59
保持一致性60
简化故障排除过程 62
让你的API 可扩展 66
小结 69
第5 章 设计实践 71
场景1 72
定义业务目标 72
概述关键用例 74
选择技术架构 75
编写API 规范 78
场景2 83
定义问题 83
概述关键用例 84
选择技术架构 84
编写API 规范 85
验证你的决定 88
小结 90
第6 章 扩展API 91
扩展吞吐量 92
找到瓶颈 93
添加计算资源 95
数据库索引96
高速缓存 97
异步执行昂贵的操作 99
优化API 设计100
介绍新的数据访问模式 100
添加新的API 方法 102
支持批量端点 105
添加可以筛选结果的新选项 105
API 分页 107
基于偏移量的分页 107
基于游标的分页 109
API 分页的实践和技巧 112
API 速率限制 112
什么是速率限制 113
实现策略 115
固定窗口计数器算法 117
速率限制与开发者 120
速率限制实践和技巧 122
开发者SDK 124
速率限制支持 124
分页支持 125
使用gzip 125
缓存常用数据 125
错误处理和指数后退 125
开发者SDK 的实践和技巧 126
小结 126
第7 章 管理更新 129
向上一致性 130
自动化测试 133
向下兼容性 139
计划和沟通更新 141
沟通计划 141
添加 143
删除 144
小结 154
第8 章 构建开发者生态系统 155
开发者,开发者,开发者 156
业余爱好者157
黑客 157
以业务为中心、技术精湛的用户 157
专业开发者158
更多受众 158
构建开发者关系策略 159
开发者细分159
市场规模和地域分布 161
提炼价值主张 163
定义开发者漏斗 164
映射当前状态和未来状态 167
策略概述 168
推导测量 172
小结 173
第9 章 开发者资源 175
API 文档 175
入门指南 176
参考文档 178
教程 179
常见问题 180
登录页面 181
更新日志 182
服务条款 184
代码示例和代码片段 185
代码示例 185
代码片段 186
软件开发套件和框架 187
软件开发工具包(SDK) 188
框架 189
开发工具 191
调试和故障排除 191
沙箱和API 测试人员 191
富媒体 192
视频 192
答疑时间 193
网络研讨会和在线培训 194
社区贡献 194
小结 196
第10 章 开发者计划 197
定义开发者计划 197
广度和深度分析 197
深度开发者计划 199
合作伙伴计划 199
Beta 计划 201
设计冲刺 203
广度开发者计划 204
聚会和社区活动 205
黑客马拉松206
在活动及活动赞助中发言 207
培训师和大使计划 207
在线视频和流媒体 208
支持、论坛和Stack Overflow 209
信用计划 209
测量开发者计划 210
小结 211
第11 章 总结 213
附录 API 设计工作表 215
作者介绍 221
封面介绍 221