产品经理必懂的技术知识之SDK与API
做产品,经常会听到SDK与API这些概念
那他们到底是什么意思,彼此之间有什么关系呢?
这篇文章给你详细介绍下
从字面意思来看:
- SDK(Software Development Kit):软件开发工具包。
- API(Application Program Interface):应用程序编程接口。
具体来说,SDK是指软件服务商将自身产品的某种能力打包,赋能给三方开发者的一种形式,这种形式的产品就是叫SDK。
举个例子,你们公司想做一个实人认证的功能,但从头开发,成本太高了,这个时候你购买阿里、网易等公司的实人认证SDK,通过SDK的说明手册,直接嵌入到你的产品里,这样就能够完成实人认证的服务了。省去了复杂的开发流程,非常方便快捷
那么API是什么呢?
一般是指一些预先定义的函数,开发人员可以直接使用这些函数来实现功能,而又无需访问源码,或理解内部工作机制的细节。通俗来讲,别人写好的代码,或者编译好的程序,提供给你使用,就叫作API。
举个简单的例子,假如你去餐厅吃饭,你不需要直接找厨师点菜,你也不需要找老板付款,更不需要自己买菜...餐厅把买菜、做饭、端茶倒水等等这一系列工作都帮你准备好了,你需要做的,就是通过服务员这个API接口,跟餐厅的服务之间建立起联系。你点完餐,吃完饭,就可以结账走人。
再比如,你去一个航空公司官网上订机票,那你将航程提交,会访问网站的数据库,看你选择的日期,座位是否是可选。
但如果你不是在他的网站上订机票,你是在一个汇总不同的航班信息的三方平台上,那么这个三方平台就会调用各个航空公司封装好的API
SDK和API看起来很相似,那他们之间有啥区别呢?
简单来说,API 通常是一个特定的函数,有着特定的功能。SDK是一个拥有很多程序很多功能信息的结合体,是作为工具包的形象而存在。SDK更全面,此外,他们还有一些不同:
- 内容不同:SDK为API提供能力基础。SDK是信息程序的合集。API是释放SDK***能的一个具体函数。
- 用途不同:SDK可为多个API提供程序功能,API接口设定有专有性。
当然,SDK与API也是有关联性的,SDK的唯一访问入口就是API。SDK可以理解为打包了一系列API的的工具包。如果想让系统拥有SDK的能力必须通过API来链接系统与工具包。
API 一般扮演的就是USB数据接口的形象,类似于游乐园卖票的,SDK就是游乐园,SDK相当于一个工具环境,在SDK的环境下调用API。
举个更形象的例子
一杯密封饮料=SDK;饮料上插着的吸管=API。
现在你理解了吗?
欢迎留言交流