原网站:https://www.jianshu.com/p/dd2eff92e8fc
SDK:软件开发工具包
软件开发工具包是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等创建应用软件的开发工具的集合,可以简单的为某个程序设计语言提供API(应用程序接口)的一些文件
例子:一个产品想实现某种功能,可以找到相关的SDK,工程师直接接入SDK,就不需要再重新开发了。
-----------------------------------------------------------------------------------------------
API:应用程序编程接口
API是一些预先定义的函数,或指软件系统不同组成部分衔接的约定。目的是作为“介面”沟通两个不同的东西,提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而无需访问源码或理解内部工作机制的细节
例子:Weather Underground出售其天气数据的API的访问权限给其他人。
-----------------------------------------------------------------------------------------------
总结:
SDK是开发集成工具环境,API是数据接口,在SDK环境下调用API数据
SDK包含了API的定义,API定义了一种能力,一种接口的规范,而SDK包含了这种能力与规范。但SDK又不是完完全全只包括API和API的实现,它是一个软件工具包,还有其他的辅助功能。