通过代码解释什么是API,什么是SDK?
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
想要弄清楚这个问题,看别人写的概念解释文章可能帮助不大,还是得自己亲手设计一下 API,使用或简单封装一个 SDK。 下面,我尝试设计一个小故事,直接通过代码讲清楚这个事儿。 对外提供云你好服务假设我是一个软件服务提供商,我设计了一个打招呼的服务,给他起了个名字叫:云你好。 用户只要调用我的 API 接口,就能使用我的服务,我会向他打一个招呼。 首先我起一个后端服务,这里选择用 python,主要是用 python 比较快,代码少,解释这个问题和语言无关哈。(先看代码,再解释)
从上面代码可以看出,我定义好了
当我的服务跑起来后,我就会告诉用户我的 API 调用方式: 请求地址: 可选请求参数: 当然更规范的做法是提供一份 API 文档。 没有 SDK 如何使用云你好接下来我们切换一下身份,假设我现在是一名云你好的用户。 在我登陆上云你好的官网后,只看到了云你好定义的 API 调用规则。 也就是说,如果我想使用云你好服务,不管我是写 python,写 java,或是写 golang,都得写发送 http 请求的代码,调用云你好的 API 使用打招呼服务。 比如在 python 中我们可以这样写:
最后得到结果: 更好地服务我的客户接下来我们切换一下身份,假设我变回了云你好的服务提供商。 经过一些简单的调研,我听说有非常多的 python / java / golang 工作者喜欢使用我们的云你好服务。 为了让他们更方便地使用云你好服务,我决定向他们提供云你好服务 python sdk / java sdk / golang sdk,进一步降低他们使用云你好服务的难度(忽悠他们更多的服务费) 下面我以 python sdk 作为示例,在 sdk 中,我会封装好使用云你好服务的逻辑,仅对用户提供一个 hello 方法,这样只要用户安装好云你好 sdk,就能直接调用 hello 方法使用云你好服务了。
写好 sdk 后,我们会在官方网站上更新道: 大家好,欢迎使用云你好 python sdk,您可以通过以下方式使用 sdk:
使用 SDK 访问你好云然后我们再次切换身份,假设我是你好云服务的用户,你好云发布 SDK 了,我非常高兴,于是我的代码就简化成这样了:
得到的结果仍然是: 总结希望上面的代码能帮助大家理解 API 和 SDK,当然它只是一个极简的 Demo,不能代表 API 和 SDK 这两个概念的全部东西。 IT 行业中有很多概念,他们背后往往对应的是一类行为,如果仅从技术名词的角度理解是非常痛苦的,所以极力推荐动手实践学习。 API 的全称是:Application Program Interface(应用程序接口) SDK 的全称是:Software Development Kit(软件开发工具包) 如果让我总结 API 和 SDK 的区别,我觉得 API 可以理解成一种标准吧,我们按照服务提供商定义的 API 标准去调用他们的服务,就能得到相应的结果。 而 SDK 可以理解为对 API 背后服务的一种封装,它更贴近用户,能大幅降低用户使用服务的开发成本。 最后,如果同学们还想进一步学习的话,推荐去看一下云厂商的 API 和 SDK 定义,甚至分别动手体验一下,绝对瞬间秒懂。 参考讲解 - 链接地址 https://www.cnblogs.com/tanshaoshenghao/p/16217608.html 阅读原文:原文链接 该文章在 2025/5/19 14:16:26 编辑过 |
关键字查询
相关文章
正在查询... |