不知道区别的人,大概率是你还没搞懂API、SDK是什么。

讲个小故事:

研发人员A开发了软件A,研发人员B正在研发软件B。 有一天,研发人员B想要调用软件A的部分功能来用,但是他又不想从头看一遍软件A的源码和功能实现过程,怎么办呢? 研发人员A想了一个好主意:我把软件A里你需要的功能打包好,写成一个函数。你按照我说的流程,把这个函数放在软件B里,就能直接用我的功能了!其中,API就是研发人员A说的那个函数。

这就是API的诞生。 日常生活中,我们有很多类似API的场景,比如:

电脑需要调用手机里面的信息,这时候你会拿一根数据线将电脑手机连接起来,电脑和手机上连接数据线的接口就相当于“API接口”。如图所示:


那SDK又是什么?

SDK 就是 Software Development Kit 的缩写,翻译过来——软件开发工具包。这是一个覆盖面相当广泛的名词,可以这么说:辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做SDK。

SDK被开发出来是为了减少程序员工作量的。

比如——

有公司开发出某种软件的某一功能,把它封装成SDK(比如数据分析SDK就是能够实现数据分析功能的SDK),出售给其他公司做开发用,其他公司如果想要给软件开发出某种功能,但又不想从头开始搞开发,直接付钱省事。

现在可以谈谈API和SDK的区别了。

总的来说,两者没有值得比较的区别,因为是具有关联性的两种东西。

你可以把SDK想象成一个虚拟的程序包,在这个程序包中有一份做好的软件功能,这份程序包几乎是全封闭的,只有一个小小接口可以联通外界,这个接口就是API。

比如——

我们现在要在企业ERP系统中增加某个功能(比如自动备份、数据分析、云存储等),但又不想耗费大量时间、也没那么多研发亲自去做这个功能。这时我们可以选择使用这个“SDK”软件包,把ERP系统连接上API接口,就可以使用SDK软件包里的功能。

最后,贴近生活讲讲两者的关系:

有一杯密封饮料,它的名字叫做“SDK”。

饮料上插着吸管,吸管的名字叫“API”。

把你叫做“XX系统”。

如果你想喝到SDK里的饮料(让系统拥有SDK中的功能),你必须通过API这根吸管来实现(通过API连接你的系统和SDK工具包),否则你就喝不到饮料。

所以:

SDK=放着你想要的软件功能的软件包

API=SDK上唯一的接口

不知道你这次真的懂了没?

SDK 和 API 的区别是什么?相关推荐

  1. SDK和API的区别是什么?

    SDK和API的区别是什么? 目录 [引言] [API] [SDK] [API和SDK的区别是什么?] [小结] [引言] 有朋友问到SDK和API的区别的问题.我们就通过这篇文章来了解一下. [AP ...

  2. SDK 和 API 的区别是什么

    来源:https://www.zhihu.com/question/21691705/answer/770586138 不知道区别的人,大概率是你还没搞懂 API.SDK 是什么. 讲个小故事: 研发 ...

  3. SDK 和 API 的区别是什么?(转)

    作者:简道云 链接:https://www.zhihu.com/question/21691705/answer/770586138 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转 ...

  4. SDK和API 区别

    SDK就是Kit,工具箱嘛,IOS平台上就是XCode,一系列的工具组合在一起,比如你在编辑器里敲代码的时候它会自动补全代码,自动错误检查,你点一下Run,它会调用编译器来自动编译,编译完它会调用iP ...

  5. python sdk是什么意思_SDK 和 API 的区别是什么?

    我觉得上面的高赞答案不怎么行,至少我看完是觉得有点云里雾里,跟我遇到的实际情况不太符合. Application Programming Interface,Software Development ...

  6. 灵派海思SDK的API参考手册

    本手册镜像地址:https://gitee.com/LinkPi/LinkLib/wikis/pages 灵派海思SDK的API参考手册 1. 概述 基本接口详解 LinkObject Link Js ...

  7. SDK与API的联系与区别

    在手机App的世界里,法规条文里所谓的"第三方应用或服务"是个看得见摸不着的存在.但事实上,不管是你每天收到的新闻推送,还是促销活动广告,甚至短信验证码,都有可能出自第三方之手. ...

  8. sdk和api有什么区别

    ----原答案---- 举个例子: 在这里,一个简单的功能链条我将它分为三个组成部分: 1.客户端组装数据 2.客户端使用组装的数据来请求服务端(或者操作系统)的 api 3.服务端(或者操作系统)的 ...

  9. 聚播群控微信二次开发sdk完整API

    聚播群控微信二次开发sdk完整API功能: 微信加好友功能API 1.导入手机通讯录 2.手机通讯录加好友 3.加指定微信群好友 4.自动通过微信好友请求 5.手机模拟定位 6.附近人加好友 7.各种 ...

最新文章

  1. Delphi下利用WinIo模拟鼠标键盘详解
  2. forget word a out 1
  3. Mac系统的终端显示git当前分支
  4. 在Android中使用GIF图片
  5. elasticsearch group by java_java elasticsearch聚合查询实例详解
  6. deephash项目代码使用指北
  7. MongoDB3.xxx 用户创建
  8. VGG11、VGG13、VGG16、VGG19网络结构图
  9. 恢复Redis被误删的数据
  10. win7 旗舰版 秘钥 联网激活
  11. 国内直接下载google play谷歌商店apk安装包的网站【https://apkpure.com/】
  12. 『Java CVE』CVE-2022-34169: Xalan-J XSLT整数截断漏洞PoC结构再浅析
  13. github 镜像站
  14. 五步打造APP节日主题设计:以Lofter新年图标设计为例
  15. IP,域名,DNS,端口
  16. 程序员最新面试谈薪指南
  17. 小学计算机老师毕业留言,高三老师给学生的毕业留言
  18. 启用vsftpd日志及其解读
  19. 【贪玩巴斯】带你一起攻克英语语法长难句—— 第二章——并列句全解 2021年12月17日——2022年2月5日
  20. java.net.ConnectException: Connection refused: no further information【已解决】

热门文章

  1. statsmodels 笔记:自回归模型 AutoReg
  2. torchvision 笔记:ToTensor()
  3. Python应用实战-如何通过python对Excel进行常规性操作
  4. 化整为零,一步一步教你搭建Prometheus监控报警系统
  5. 计算python执行时间
  6. java在线学习系统源码_Java在线考试系统源码
  7. Matplotlib实例教程 | 句子长度累积分布函数图
  8. 微软NNI-业内最亲民的AutoML工具学习笔记(1):AutoFeatureENG
  9. 第三周 数据分析之概要 Pandas库数据特征分析
  10. How To Do @Async in Spring--转