0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

SDK和API的区别是什么?

Android编程精选 来源:Android编程精选 作者:Android编程精选 2022-03-18 09:36 次阅读

不知道区别的人,大概率是你还没搞懂APISDK是什么。

Part1API的诞生

讲个小故事

研发人员A开发了软件A,研发人员B正在研发软件B。

有一天,研发人员B想要调用软件A的部分功能来用,但是他又不想从头看一遍软件A的源码和功能实现过程,怎么办呢?

研发人员A想了一个好主意:我把软件A里你需要的功能打包好,写成一个函数。你按照我说的流程,把这个函数放在软件B里,就能直接用我的功能了!

其中,API就是研发人员A说的那个函数。

0c09dabe-a5a4-11ec-952b-dac502259ad0.jpg

这就是API的诞生。

日常生活中,我们有很多类似API的场景,比如:

电脑需要调用手机里面的信息,这时候你会拿一根数据线将电脑手机连接起来,电脑和手机上连接数据线的接口就相当于“API接口”。如图所示:

0c217a84-a5a4-11ec-952b-dac502259ad0.jpg

Part2那SDK又是什么?

SDK 就是 Software Development Kit 的缩写,翻译过来——软件开发工具包。这是一个覆盖面相当广泛的名词,可以这么说:辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做SDK。

SDK被开发出来是为了减少程序员工作量的。

比如——

公司开发出某种软件的某一功能,把它封装成SDK(比如数据分析SDK就是能够实现数据分析功能的SDK),出售给其他公司做开发用,其他公司如果想要给软件开发出某种功能,但又不想从头开始搞开发,直接付钱省事。

Part3现在可以谈谈API和SDK的区别了

总的来说,两者没有值得比较的区别,因为是具有关联性的两种东西。

你可以把SDK想象成一个虚拟的程序包,在这个程序包中有一份做好的软件功能,这份程序包几乎是全封闭的,只有一个小小接口可以联通外界,这个接口就是API。

比如——

我们现在要在企业ERP系统中增加某个功能(比如自动备份、数据分析、云存储等),但又不想耗费大量时间、也没那么多研发亲自去做这个功能。这时我们可以选择使用这个“SDK”软件包,把ERP系统连接上API接口,就可以使用SDK软件包里的功能。

Part4举个实例辅助理解

【中铁大桥科研院】有一个自研的信息平台,用于管理业务数据。

但他们曾面临一个问题——尽管有信息平台,却因为系统的独立性,数据的上传和备份,需要依靠人工在excel里来回操作,效率很低。

由于系统的开发周期长、成本高,桥科院将目光聚焦到现成的功能软件上。

后来通过API将简道云直接插入公司数据库,数据可自动上传至信息平台上并统一展示;再通过webhook把数据推送到服务器,实现自动备份。

0c3946e6-a5a4-11ec-952b-dac502259ad0.jpg

API将信息平台与简道云相连在这一过程中,简道云扮演的角色就是SDK,而简道云配备API接口,可以对接外部系统,让桥科院不用开发直接实现了数据自动上传、备份的功能。

最后,贴近生活讲讲两者的关系:

有一杯密封饮料,它的名字叫做“SDK”。

饮料上插着吸管,吸管的名字叫“API”。

把你叫做“XX系统”。

如果你想喝到SDK里的饮料(让系统拥有SDK中的功能),你必须通过API这根吸管来实现(通过API连接你的系统和SDK工具包),否则你就喝不到饮料。

所以

SDK=放着你想要的软件功能的软件包

API=SDK上唯一的接口

不知道你这次真的懂了没?

这个问题好像又热起来了,既然如此,给大家推荐一个新“玩具”:前端事件。

理论上解释

前端事件是一种全新的数据获取的方式,可以在数据提交或者表单填报时,主动调用外部接口,从而可以实现接口取数、数据验证、数据分析、触发事件等一系列的操作,用户可以基于现成的商业接口进行配置(无需编程),也可以根据自身需求封装接口,灵活地满足自身业务需求(需编程)

说人话解释

用户填写快递单号,返回具体物流信息;上传发票图片,返回发票金额;上传身份证照片,获取身份证姓名、身份证号;……等。

例如,在发票报销场景中,根据前端事件配置,可在提交发票图片后自动获取发票中的开票金额、开票日期等基础信息。

0c4cc8c4-a5a4-11ec-952b-dac502259ad0.gif

-End-

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • API
    API
    +关注

    关注

    2

    文章

    1382

    浏览量

    60991
  • SDK
    SDK
    +关注

    关注

    3

    文章

    966

    浏览量

    44696

原文标题:Java学习:SDK 和 API 的区别是什么?

文章出处:【微信号:AndroidPush,微信公众号:Android编程精选】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Power Optimization SDK介绍之Static API

    power方式分别是动态接口和静态接口。 Power Optimization SDK的特点如下:(1)在算法级别上对电源管理API的细粒度访问。(2)访问请求受整个系统工作负载约束的影响。(3)支持CPU
    发表于 09-27 11:58

    SDKAPI、Open API有什么区别(iot开发平台)

    、数据采集、设备远程监控、用户账号管理、设备绑定管理和数据统计分析等技术能力,帮助厂商和开发者迅速构建各类IoT设备,甚至是进行设备管理和经销商等功能。[ SDKAPI区别]SDK
    发表于 07-09 15:32

    SDKAPI、Open API有什么区别(iot开发平台)

    、数据采集、设备远程监控、用户账号管理、设备绑定管理和数据统计分析等技术能力,帮助厂商和开发者迅速构建各类IoT设备,甚至是进行设备管理和经销商等功能。[ SDKAPI区别]SDK
    发表于 07-09 19:17

    SDKAPI相关资料推荐

    从官方例程深度学习海思SDKAPI-第2/11季视频课程 互联网课程品牌《...
    发表于 12-23 07:57

    OpenHarmony SDK只支持API8和API9吗?

    1、OpenHarmony SDK api版本只支持8和9么,真机是6种情况是不是不能使用openharmony调试了呢?2、HarmonyOS Legacy SDK 与OPenharmony
    发表于 04-26 10:57

    Hbird-SDK、Nuclei-SDK、NucleiStudio这三者之间的关系和区别是什么啊?

    请问 Hbird-SDK、Nuclei-SDK和NucleiStudio这三者之间的关系和区别是什么啊?有没有谁包含谁了?
    发表于 08-12 08:08

    OpenHarmony 应用开发SDKAPI 与基础工具

    API,而不需要下载多个 SDK。对于某些设备不支持的 API 的情况,开发者可通过 canIUse() 函数判断。 随着时间的推移,鸿蒙系统会发布新的版本,每个版本都会有配套的 API
    发表于 09-19 15:45

    SDK API Reference Manual LPC546x

    SDK API Reference Manual LPC546xx,用户手册
    发表于 03-17 08:29 33次下载

    SDK中大写的PRINTF和小写printf的区别

     讲一下SDK中大写的PRINTF和小写printf的区别
    发表于 09-15 17:47 2次下载
    <b class='flag-5'>SDK</b>中大写的PRINTF和小写printf的<b class='flag-5'>区别</b>

    人体行为识别API接口aip-php-sdk-4.15.4

    人体行为识别API接口aip-php-sdk-4.15.4
    发表于 08-31 09:46 3次下载

    ESP8266 Non OS SDK API参考

    电子发烧友网站提供《ESP8266 Non OS SDK API参考.pdf》资料免费下载
    发表于 09-23 11:49 0次下载
    ESP8266 Non OS <b class='flag-5'>SDK</b> <b class='flag-5'>API</b>参考

    ESP8266 RTOS SDK API参考(仅针对旧版SDK V2.X及之前版本)

    电子发烧友网站提供《ESP8266 RTOS SDK API参考(仅针对旧版SDK V2.X及之前版本).pdf》资料免费下载
    发表于 09-23 10:10 0次下载
    ESP8266 RTOS <b class='flag-5'>SDK</b> <b class='flag-5'>API</b>参考(仅针对旧版<b class='flag-5'>SDK</b> V2.X及之前版本)

    APISDK是什么?SDKAPI区别

    SDK 就是 Software Development Kit 的缩写,翻译过来——软件开发工具包。这是一个覆盖面相当广泛的名词,可以这么说:辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做SDK
    的头像 发表于 10-04 15:35 1805次阅读

    SDKAPI 在视频环境中的区别

    现在,视频API 或视频SDK 不一定是每个工具本身的一个类别。相反,它们是创建的APISDK,旨在帮助您与并非从头开始构建的视频平台进行交互和扩展。
    发表于 11-25 09:34 483次阅读

    ESP8266 Non-OS SDK API参考

    电子发烧友网站提供《ESP8266 Non-OS SDK API参考.pdf》资料免费下载
    发表于 09-18 10:08 3次下载
    ESP8266 Non-OS <b class='flag-5'>SDK</b> <b class='flag-5'>API</b>参考