API
-
API定义
API:Application Programming Interface,即应用程序接口,从开发者角度讲,它是预先定义好的一个函数,比如excel中的:SUM(),left()等函数,它们每一个都是一个API
从开发者角度(即interface)来说,API就是2个不同事物间发生交互的地方,比如我们每天上班使用电脑,总会和电脑发生交互,我们通过键盘、鼠标等给电脑发送指令,电脑做它该做的事情,这里,我们可以将键盘等视为user interface,那么程序与程序发生交互就被叫做API。
总结一下:它就是开发人员已经写好了某个特定功能的函数,我们作为使用者,并不知道这个函数内部是怎样处理的,只需按照其给出的模板(接口),传入相应的参数(例如:使用SUM函数,我们要指定求和的起始位置和最终位置,在这里,起始位置和最终位置就成了SUM函数所需要的参数),它就会自动帮我们完成这些功能。
SDK
API大致讲清楚了,SDK又是什么呢?
2. SDK的概念
SDK:Software Development Kit,即软件开发工具包,它是一系列程序接口、文档、开发工具的集合。一个完整的SDK包含:
-
接口文件和库文件
-
帮助文档
-
开发示例
-
实用工具
我们经常在接口文档中看到xxxxx.jar(Java语言),可以简单的理解为它是SDK的一种,我们将jar包解压后,会发现是一堆class文件,如果换做其他语言(此时就不是jar包了),解压后可能为.php、.c、.py等,因此,这一类文件统称为SDK(实际上还包含接口文件和库文件、帮助文档、开发示例、实用工等)
那么,2者到底有什么关系呢?
SDK和API的关系,简单的说就是包含关系,即SDK包含API(多个),SDK是API的父亲,一个SDK可以有多个API,也就是说,API,仅仅是SDK的一小部分,SDK中除了API,还包含其他辅助性的东西。
举个很简单的例子:
SDK相当于一顿火锅,
你的身体是XXX公司的系统,
API则是你吃火锅需要用到的筷子、勺子等
即:
SDK==火锅
API==筷子,勺子,SDK上的多个接口
多个人坐在一桌吃火锅,便是这些人通过这顿火锅提供的餐具来满足口腹之欲。