博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于API和SDK的理解及两者区别
阅读量:5955 次
发布时间:2019-06-19

本文共 1469 字,大约阅读时间需要 4 分钟。

1.SDK是什么?

SDK:

概念:软件开发工具包(SDK,全称:Software Development Kit)
一般都是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。

通俗点是指由第三方服务商提供的实现软件产品某项功能的工具包。

就相当于很多API和其他文件的集合体,你可以用这个完成某一个事情。

举例子:

整个计算器产品可以看做是一个SDK,它里面有API集合(计算器),说明文档(说明书),以及一些其他文件。
这个SDK的功能就是计算,可能要算什么不确定,但是你可以通过这个SDK中的某个方法完成,实现你的目的。

2.API是什么?

API:

概念:API(Application Programming Interface,应用程序编程接口)
一般是指一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

其实就是别人已经写好的可以实现特定功能的函数,而你只需要根据他提供好的接口,也就是调用他的方法,传入他规定的参数,然后这个函数就会帮你实现这些功能。

举例子:

比如别人写好了一个数字求和的方法sum(int a, int b)。

提供给你一个API接口——你只需要调用它这个sum()函数,然后传入这个a,b的值,然后就可以得到计算的结果,你不需要知道这个方法是怎么实现的,知道该怎么调用即可。

如果别人又写了一个两数相乘的方法Mul(int a, int b),那这又称为另一个API。

比如百度Ai平台的图像识别API:

3.SDK和API的区别

1.API是一个具体的函数,一个确定的功能,已经明确了它的作用(比如做加法)。 2.SDK就像是很多方法的集合体,是一个工具包。

比如你要做加法,你就调用计算机SDK的加法API,要做减法就调用减法API,无论你想完成什么计算,SDK里总有能实现的方法。 

3.SDK除了他提供的完善的接口,他还会给你提供相关的开发环境,而API需要的环境你得自己提供(比如传参)
 4.SDK相当于开发集成工具环境,API就是数据接口。在SDK环境下调用API数据。(而这个SDK你可以自己配置或者下载第三方提供的)

API

前端调用后端数据的一个通道,就是我们俗说的接口,通过这个通道,可以访问到后端的数据,但是又无需调用源代码。

SDK

工程师为辅助开发某类软件的相关文档、范例和工具的集合,使用SDK可以提高开发效率,更简单的接入某个功能。

举例说明:一个产品想实现某个功能,可以找到相关的SDK,工程师直接接入SDK,就不用再重新开发了。

如何选择API和SDK对接

但是,问题又来了。API和SDK这两种产品对接方式,选择哪种比较好呢?

API和SDK对接,适合最重要。没有哪种最好,只有最适合。

API和SDK最终实现的功能都是一样的,至于采用哪一种,需要结合对接平台的需求(保密程度,特殊需求、开发成本等等)。

选择API

优势:API开发成本低,对接比较简单,可以快速验证商业模式和用户体验。

劣势:API会经过对接平台,厂商可以获取对接平台相关数据信息。

选择SDK

优势:SDK对接后的功能比较稳定,响应速度快,而且对接平台相关数据不会被获取。

劣势:需要开发的环节较多,开发工作量大,对接周期略长。

所以,大家在实际开发过程中,如果只是简单功能调用,还是使用API更快速便捷一些;如果是繁琐复杂的功能,多数情况下还是使用SDK更稳妥一些。

转载地址:http://pilxx.baihongyu.com/

你可能感兴趣的文章
Devexpress 15.1.8 Breaking Changes
查看>>
推荐JS插件:imagesLoaded,监测图片加载情况并提供相应的事件(加载成功/失败)...
查看>>
Java B2B2C多用户商城 springcloud架构- common-service 项目构建过程(七)
查看>>
杨老师课堂之ArrayList集合常用方法解析
查看>>
ElasticSearch Client详解
查看>>
新零售讲堂之时代下的传统零售业,何去何从?
查看>>
c++读取和写入TXT文件的整理
查看>>
深入动态人脸识别小场景应用,2019年或将迎来爆发期
查看>>
Ionic2 下处理 Android 设备下返回按钮的事件
查看>>
linux安全问答(1)
查看>>
zabbix监控进程的CPU和内存占用量
查看>>
【自用】手工编译lnmp环境
查看>>
普通用户通过Putty密钥方式登录
查看>>
网页显示3D模型
查看>>
第六章:thymeleaf页面模版-1. 信息输出
查看>>
Ubuntu 16.04 install Docker 1.12.0
查看>>
2012《Linux杂志》读者选择奖 (Readers' Choice Awards 2012- Linux Journal)
查看>>
21天让你成为Horizon View高手—Day11:手动池的创建
查看>>
Python迭代对象、迭代器、生成器
查看>>
请求转发与重定向的区别
查看>>