快速了解SDK和API的区别

  1. SDK 是 Software Development Kit 的缩写,软件开发的工具包。辅助开发某一类软件的相关文档、范例和工具的集合都能叫做SDK
  2. SDK被开发出来是为了减少程序员工作量的。如果有公司开发出了某种软件的某一功能,把它封装成SDK(比如数据分析SDK就是能够实现数据分析功能的SDK)。该软件可以出售给其他公司做开发用,这样其他公司如果不想从头开始搞开发,那就直接付钱省事。
  3. API是开发人员开发好一款软件之后,把功能进行打包,写成一个函数。当研发人员需要这个功能时,只需要调用这个API函数(接口),就可以直接使用功能,而无需知道实现原理。

总的来说,两者没有本质上的区别,而是具有关联性的两种概念。可以把SDK想象成一个虚拟的程序包,在这个程序包中有一份做好的软件功能,这份程序包几乎是全封闭的,只有一个小小API接口可以联通外界。当企业在开发中想增加某个功能时(如自动备份、数据分析、云存储等),SDK节省研发成本。当然,企业也可以自行封装自家的软件功能作为SDK,便于自家其他软件调用。

折射到日常生活

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

举个实例辅助理解:

  • 某研究院有一个自研的信息平台,用于管理业务数据。
  • 但他们曾面临一个问题——尽管有信息平台,却因为系统的独立性,数据的上传和备份,需要依靠人工在excel里来回操作,效率很低。
  • 由于系统的开发周期长、成本高,桥科院将目光聚焦到现成的功能软件上。
  • 后来通过API将简道云直接插入公司数据库,数据可自动上传至信息平台上并统一展示;再通过webhook把数据推送到服务器,实现自动备份。
  • API将信息平台与简道云相连
  • 在这一过程中,简道云扮演的角色就是SDK,而简道云配备API接口,可以对接外部系统,让桥科院不用开发直接实现了数据自动上传、备份的功能。

快速了解SDK和API的区别相关推荐

  1. SDK 和 API 的区别,你都知道吗?

    API 概念 API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而 ...

  2. SDK和API的区别

    SDK和API的区别 一.API的概念 二.SDK的概念 三.SDK和API的区别 在正式了解它们的区别之前,我们得先知道 SDK 和 API 分别是什么? 一.API的概念 我们先来看这样一张图: ...

  3. SDK 和 API 的区别

    SDK SDK一般指软件开发工具包 软件开发工具包一般都是一些软件工程师为特定的软件包.软件框架.硬件平台.操作系统等建立应用软件时的开发工具的集合. 软件开发工具广义上指辅助开发某一类软件的相关文档 ...

  4. SDK与API的区别

    SDK就是Kit,工具箱嘛,IOS平台上就是XCode,一系列的工具组合在一起,比如你在编辑器里敲代码的时候它会自动补全代码,自动错误检查,你点一下Run,它会调用编译器来自动编译,编译完它会调用iP ...

  5. SDK和API的区别?

    转载自:点击打开链接 SDK就是Kit,工具箱嘛,IOS平台上就是XCode,一系列的工具组合在一起,比如你在编辑器里敲代码的时候它会自动补全代码,自动错误检查,你点一下Run,它会调用编译器来自动编 ...

  6. SDK与API的联系与区别

    在手机App的世界里,法规条文里所谓的"第三方应用或服务"是个看得见摸不着的存在.但事实上,不管是你每天收到的新闻推送,还是促销活动广告,甚至短信验证码,都有可能出自第三方之手. ...

  7. API,SDK和API之间的关系和区别

    随着软件规模的日益庞大,常常需要把复杂的系统划分成小的组成部分,编程接口的设计十分重要,程序设计的实践中,编程接口的设计首先要使软件系统的职责得到合理划分,良好的接口设计可以降低系统各部分的相互依赖, ...

  8. SDK和API有哪些区别

    SDK和API的区别 软件开发中经常混淆的两个术语是 API 和 SDK.API 代表"应用程序编程接口",是指用于访问 Web 工具或数据库的编程指令和标准.例如,软件公司通常会 ...

  9. 什么是API,SDK和API之间有什么关系呢?

    随着软件规模的日益庞大,常常需要把复杂的系统划分成小的组成部分,编程接口的设计十分重要,程序设计的实践中,编程接口的设计首先要使软件系统的职责得到合理划分,良好的接口设计可以降低系统各部分的相互依赖, ...

最新文章

  1. 实现SSTab单个选项卡代码
  2. R语言回归模型协方差分析(Analysis of Covariance)
  3. ElasticSearch基础知识整理
  4. 修改linux bash shell PS1
  5. MySQL初始化脚本mysql_install_db使用简介及选项参数
  6. 两个服务器 文件比较,使用linux的comm命令比较两个已排过序的文件
  7. qemuuser模式运行linux,在Android上使用qemu-user运行可执行文件
  8. Android沉浸式(侵入式)标题栏(状态栏)Status(三)
  9. python网络通信基础-udp+NetAssist(网络调试助手)
  10. Parser-Free Virtual Try-on via Distilling Appearance Flows代码解析
  11. 登陆页面html5代码qq,HTML5QQ登录的一篇代码分享
  12. LintCode 介绍
  13. 【kvm虚拟化详解01】-虚拟化概述和主流方案介绍
  14. PHP zip 文件压缩、解压
  15. Excel如何在表格内打勾
  16. 海洋cms 模板标签手册
  17. Excel 数值转换为人民币大写金额字符串
  18. 建议118:使用SecureString保存密钥等机密字符串
  19. 使用pe安装系统windows系统
  20. 位图php,ps中什么是位图

热门文章

  1. 短视频文案如何写,学会以下几种方法,离爆款绝对不远。
  2. Web前端最新优化指标:FP、FCP、FMP、LCP、TTI、CLS、FID、FPS等
  3. 用mobilenet模型跑tensorflow CNN的样例:image_retrain.py和label_image.py
  4. kvm虚拟化软件和Linux 系统 的安装
  5. springMVC数据校验
  6. fastadmin 跳转后限定搜索条件
  7. 基于pix实现无人机编队表演
  8. React:新旧生命周期及其对比
  9. 多任务进化优化算法(三)利用显式自编码器的进化多任务、基于生物群落共生的进化多任务优化简介
  10. mac使用VM安装centos7