互联网行业中,常说的API和SDK是什么?

API和SDK是什么?

了解什么是API

不如先听个小故事:

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

http://img2.58codes.com/2024/20106765370a84W5Rq.jpg
这就是API的诞生。

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

电脑需要调用手机里面的资讯,这时候你会拿一根资料线将电脑手机连线起来,电脑和手机上连线资料线的介面就相当于API介面。如图所示:
http://img2.58codes.com/2024/20106765SgUImtrutU.jpg

那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上唯一的介面怎么样,你是不是一下搞清楚了?


作者:简道云,原文:互联网行业,常说的API和SDK是什么?
着作权归作者所有。商业转载请联络作者获得授权,非商业转载请注明出处。


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章