- SDK官方解释:
SDK 就是 Software Development Kit 的缩写,中文意思就是“软件开发工具包”。
- API官方解释:
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
- 本质区别:
量的区别。API一般是一个具体特定的功能,而SDK里面包含了多个功能。就好比API只有加法一项功能,而SDK具备四则运算的功能。
- 大白话解释:
有两套炒菜的机器,都能做酸辣土豆丝,一个叫API,一个叫SDK。
API给了你一个说明书(接口文档),上面说:炒酸辣土豆丝,需要土豆、辣椒、醋、盐。
API上边有几个洞(接口),
第一个洞,扔进去一个土豆(入参),吐出来一个削了皮的土豆(返回值);
第二个洞,扔进去一个削了皮的土豆,吐出一堆土豆丝;
第三个洞,扔进去一个辣椒,吐出来一堆辣椒丝;
第四个洞,扔进去一些醋和盐,吐出来一份配比好的调料;
说明书上还说了:拿着那些东西,找一口锅,你就能炒出土豆丝了!
SDK呢,只有一个洞。也有个说明书,列出了需要的材料。并且告诉你,只要把这些材料往里一扔,我就能给你一盘酸辣土豆丝!
用户用了之后,反馈给厂家:
SDK确实方便,但是他是咋做的酸辣土豆丝呢?我们看不着啊!
API真麻烦,还得自己去炒!但是我发现,卧槽!用API还能做出炝炒土豆丝!
- 信息补充:
① SDK还有一点是除了他提供的完善的接口,他还会给你提供开发环境。继续上面的计算器和车的比喻,要想计算器和车子可使用,要给计算器电池,和车子加油,这些都是计算机和汽车运行须要的。例如java的JDK里,除了各类API,还包括了java运行须要的JRE。
② 如今不少第三方接口运行是经过远程调用的方式,这样的好处是不须要下载对应的SDK,只须要知道API的接口地址。在某种程度上减小了调用他人接口的难度。