c++ api文档_SDK、API和OPEN API有啥区别,这是最为形象的比喻

fc7f3bd76c5a0608204a0183baa213d4.png

先说一下SDK和API的区别

SDK是什么

SDK 就是 Software Development Kit 的缩写,中文意思就是“软件开发工具包”。

这是一个覆盖面相当广泛的名词,可以这么说:辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做“SDK”。具体到我们这个系列教程,我们后面只讨论广义 SDK 的一个子集——即开发 Windows 平台下的应用程序所使用的 SDK。

软件开发工具包,只是简单的为某个程序设计语言提供应用程序接口的一些文件,但也可能包括能与某种嵌入式系统通讯的复杂的硬件。一般的工具包括用于调试和其他用途的实用工具。

SDK还经常包括示例代码、支持性的技术注解或者其他的为基本参考资料澄清疑点的支持文档。软件工程师通常从目标系统开发者那里获得软件开发包。

为了鼓励开发者使用其系统或者语言,许多 SDK 是免费提供的。软件工程师通常从目标系统开发者那里获得软件开发包,也可以直接从互联网下载,有时也被作为营销手段。例如,营销公司会免费提供构建SDK 以鼓励人们使用它,从而会吸引更多人由于能免费为其编程而购买其构件。

4ee9b3f79470e03f8b4dedbc0dfef439.png

sdk和api的区别

SDK和API都是类似于公共服务的东西,都代表的是一种封装,只是封装的形式不一样:

SDK的封装是在客户端层面的一个library(也叫做“包”或者“库”),这个library提供一些客户端API接口,类似于已经写好了的函数,你只需要调用它就好了。SDK暴露出来的接口都是和语言相关的,如果SDK是用Java写的,就需要用Java去调用那个函数;如果是SDK是用Objective-C写的,就需要用Objective-C去调用那个函数。

API是封装在服务端层面的library,从网络服务的层面暴露出一些API接口,提供给使用这些服务的人去调用。因为封装在服务的层面,传输数据用的是网络协议(常用HTTP/TCP),就不需要管他是用什么语言实现的。

540aef6fd5224ba5ac4397a7d026dcd2.png

栗子来了!

有两套炒菜的机器,都能做酸辣土豆丝,一个叫API,一个叫SDK。

API给了你一个说明书(接口文档),上面说:炒酸辣土豆丝,需要土豆、辣椒、醋、盐。

API上边有几个洞(接口),

第一个洞,扔进去一个土豆(入参),吐出来一个削了皮的土豆(返回值);

第二个洞,扔进去一个削了皮的土豆,吐出一堆土豆丝;

第三个洞,扔进去一个辣椒,吐出来一堆辣椒丝;

第四个洞,扔进去一些醋和盐,吐出来一份配比好的调料;

说明书上还说了:拿着那些东西,找一口锅,你就能炒出土豆丝了!

SDK呢,只有一个洞。也有个说明书,列出了需要的材料。并且告诉你,只要把这些材料往里一扔,我就能给你一盘酸辣土豆丝!

用户用了之后,反馈给厂家:

SDK确实方便,但是他是咋做的酸辣土豆丝呢?我们看不着啊!

API真麻烦,还得自己去炒!但是我发现,卧槽!用API还能做出炝炒土豆丝!

不open的API只是放在你自己家的厨房里,只有你自己能用;

open的API呢,放到了大街上,谁都能用!只要每个人在用之前先输入个账号密码,炒菜机的生厂厂家核对一下,对了就能用!

e54f94dd872a080bae6ace0155be54bb.png

62af70c10bd9e2879366356cca532138.png 来都来了,走啥走,留个言呗~

 IT大咖说  |  关于版权 

由“IT大咖说(ID:itdakashuo)”原创的文章,转载时请注明作者、出处及微信公众号。投稿、约稿、转载请加微信:ITDKS10(备注:投稿),茉莉小姐姐会及时与您联系!

感谢您对IT大咖说的热心支持!

相关推荐

推荐文章

  • 面试:ZooKeeper二十三连问,看看你能不能接住

  • 裸辞创业,睡地下室,这位程序员建造出10亿美元的商业帝国

  • 你在公司项目里面看过哪些操蛋的代码?

最近活动

  • 重磅揭晓!Flink Forward Asia 2019 议程完整出炉,门票送送送!

  • 腾讯大数据星火计划--Angel技术沙龙 对外报名正式启动!

  • 红帽企业版Linux8新特性

09c2e329f8fc25ac12bccd3a11ccad79.png点击【阅读原文】更多IT技术圈

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值