SDK与API
目录
-- API是一个具体的函数,一个确定的功能说明,已经明确了它的作用(比如,做加法)。而SDK就像是很多方法的集合体,是一个工具。
-- API 接口对接过程中所需环境要自己提供,而 SDK 不需要(因为SDK本身就是环境,也可以说SDK提供了一个完整的开发环境)。
-- api就是一个函数接口,函数功能无法脱离环境而独立运行,只有连接到服务器才可以发挥作用。 sdk是开发工具包,含有api函数接口和api运行所需要的服务环境,可以独立运行。
一、SDK是什么
-- 系统解释:
- 软件开发工具包
-- 指一些被软件工程师用于为特定的软件包、软件架构、硬件平台、操作系统等建立应用软件的开发工具的集合。
-- 简单解释:一个完整的 SDK 应该包括以下内容:
-
接口文件和库文件
-- 接口文件和库文件即 API ,将底层的代码进行封装保护,提供给用户一个调用底层代码的接口。 -
帮助文档
-- 帮助文档起解释接口文件和库文件的功能,以及介绍有关的开发工具,操作示例等等 -
开发示例
-- 开发示例就是做出来一个 DEMO 展示,也包括源代码。 -
实用工具
-- 实用工具是用来协助用户进行二次开发的工具,比如二次开发向导, API 搜索工具,软件打包工具等等。
-- 简单来说就是一系列程序接口,文档,开发工具的集合。
-- 例子:
- 有公司开发出某种软件的某一功能,把它封装成SDK(比如数据分析SDK就是能够实现数据分析功能的SDK),出售给其他公司做开发用。
- 如市面上已经由公司开发出来的人脸识别的功能非常完善了,其他公司可以直接购买这个人脸识别SDK工具,嵌入到项目中。
2、API是什么?
-- 系统解释:
- 应用程序接口
-- 又称为应用编程接口、应用程序编程接口。提供用户编程时的接口,是一些预先定义的函数,或者软件系统不同部分组成衔接的约定。
-- API的主要目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
-- 提供API所定义的功能的软件称作此API的实现。
-- API是一种接口,故而是一种抽象。
-- 简单解释:
-
其实就是别人已经写好的可以 实现特定功能的函数,而你只需要根据他提供好的接口,也就是调用他的方法,传入他规定的参数,然后这个函数就会帮你实现这些功能。
-- 例子;
- 你想要电脑需要调用手机里面的某个信息,这时候你会拿一根数据线将手机与电脑连接起来传送信息,电脑和手机上连接数据线的接口就相当于“API接口”。
3、SDK与API的区别
-- SDK为API 提供能量源。API是释放SDK中功能的一个具体函数。
-- SDK与API其实是有关联性的,SDK的唯一访问入口就是API。API 通常是一个特定的函数,SDK可以理解为打包了一系列API的的工具包
-- 例子:
-
有一杯密封饮料,它的名字叫做 “ SDK ”,饮料上插着吸管,吸管的名字叫 “ API ” 。把你叫做 “ XX 系统”。
-
于是一杯密封饮料=SDK;饮料上插着的吸管=API;你=某系统
-
如果你想喝到 SDK 里的饮料(让系统拥有 SDK 中的功能),你必须通过 API 这根吸管来实现(通过 API 连接你的系统和 SDK 工具包),否则你就喝不到饮料。
-
学术一点的说:如果想让系统拥有SDK的能力必须通过API来连接系统与工具包。因此,SDK是放着你想要的软件功能的软件包,API是SDK上唯一的接口。