它们的联系是SDK 包含了 API,区别在任务不同。 SDK相当于是一个开发者集成的环境,API则是数据接口,API是基于SDK之下的,可以在SDK的环境之下调用API数据。
SDK包括了API的定义,API是定义了一种能力的属性,是一种接口的规范,并且,SDK也包含了API的能力和规范,还有一些其他的辅助功能,同是缺少一部分API的能力。
API是前端调用后端数据的一个通道,就是我们俗说的接口,通过这个通道,可以访问到后端的数据,但是又无需调用源代码。
SDK,工程师为辅助开发某类软件的相关文档、范例和工具的集合,使用SDK可以提高开发效率,更简单的接入某个功能。
总的来说,两者没有值得比较的区别,因为是具有关联性的两种东西。
你可以把SDK想象成一个虚拟的程序包,在这个程序包中有一份做好的软件功能,这份程序包几乎是全封闭的,只有一个小小接口可以联通外界,这个接口就是API。