SDK

SDK(software development kit),中文可译为“软件开发工具包”,这是一个覆盖面相当广泛的名词,可以这么说:辅助开发某一类应用软件的相关文档和工具的集合都可以叫做“SDK”。通常SDK是由专业性质的公司提供专业服务的集合,比如提供安卓开发的工具、或者基于硬件开发的服务等。也有针对某项软件功能的SDK,如推送技术、图像识别技术、移动支付技术、语音识别分析技术等,在互联网开放的大趋势下,一些功能性的SDK已经被当作一个产品来运营。SDK 通常应该包含一系列 API 供使用方调用,一份使用文档供使用方参考。
开发者不需要再对产品的每个功能进行开发,选择合适稳定的SDK服务并花费很少的经历就可以在产品中集成某项功能。

API

API(application programming interface),中文可译为“应用程序编程接口”。提供用户编程时的接口,是一些预先定义的函数(如函数、HTTP接口),或指软件系统不同组成部分衔接的约定(规范)。比如jdk提供的一些方法(函数)、spring框架提供的一些方法(函数)、mysql提供的一些方法(函数)都是是一些预先定义好的。由于这些函数服务的对象是应用程序,所以称之为Application Programming Interface,简称API 函数。
通俗语言解释API前端调用后端数据的一个通道,就是我们俗说的接口,通过这个通道,可以访问到后端的数据,但是又无需调用源代码。

SDK和api联系与区别

  • 实际上SDK包含了API的定义,API定义一种能力,一种接口的规范,而SDK可以包含这种能力、包含这种规范,但是SDK又不完完全全只包含API以及API的实现,它是一个软件工具包,它还有很多其他辅助性的功能。比如JAVA SDK(JAVA JDK)提供了相应的jdk api、各种api的具体能力(接口的实现)以及相关文档。
  • SDK 和 API 其实是有关联性的,SDK 的访问入口就是 API,可以把 SDK 简单地理解为打包了一系列 API实现类 的工具包;

JDK

JDK(Java Development Kit)是Sun Microsystems针对Java开发的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK(Software development kit)。
可以认为jdk只是sdk的一种(子集),因为它是开发java程序的一个平台,开发其他程序的sdk可以没有jdk。

posted on 2021-07-09 14:27  哑吧  阅读(1027)  评论(0编辑  收藏  举报