SDK和API的区别

  • 一、API的概念
  • 二、SDK的概念
  • 三、SDK和API的区别

在正式了解它们的区别之前,我们得先知道 SDK 和 API 分别是什么?

一、API的概念

我们先来看这样一张图:

(图画的很烂就请不要在意了)

API 的全称为 Application Programming Interface,翻译过来的意思就是应用程序编程接口。实际上,API 是一些预先定义的函数,目的是提供应用程序与开发人员基于某个软件或硬件,得以访问一组进程的能力。不需要直接去访问源码,或去深刻理解内部工作机制的细节。实际上我们可以通过一个日常生活工作中的事来更好的理解 API 的概念:

在没有网络的工作或生活条件下,我们如果需要通过电脑来获取手机中存储的信息时,可以使用一条数据线来连接手机和电脑。在这个场景下,电脑和手机上承载数据线的接口就相当于我们在编程中常说的“API接口”。

二、SDK的概念

SDK的全称为 Software Development Kit,翻译过来的意思就是软件开发工具包。这是一个覆盖面相当广泛的名词,简单来说就是:辅助开发某一类软件的相关文档、演示举例和一些工具的集合,这些都可以称为 SDK。

SDK 被开发出来的意义是为了减少开发者的工作量。例如:某公司开发出某种软件的某一功能,将其封装成 SDK(例如数据分析 SDK,就是能够实现数据分析功能的SDK),出售给其他需要的公司使用。这样就可以大大减少开发应用程序的工作量。

三、SDK和API的区别

从根本上来讲,这两者的没有什么值得比较的地方,本质上是具有很强关联性的两个存在。我们可以将 SDK 解释为封装好功能的一个软件包,而这个软件包几乎是封闭的状态,只有一个接口可以进行访问,那这个接口就是我们所了解的 API。

在面试中被问到这个问题时,面试官的本意应该是考察应试者的封装工具经验,以及对封装工具上的一些理解见解。

这里是正在思索改名的万物之恋,下次再见了!

SDK和API的区别相关推荐

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

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

  2. SDK 和 API 的区别

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

  3. 快速了解SDK和API的区别

    快速了解SDK和API的区别 SDK 是 Software Development Kit 的缩写,软件开发的工具包.辅助开发某一类软件的相关文档.范例和工具的集合都能叫做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. 虚拟化四路服务器,专为虚拟化设计 戴尔R905四路服务器评测
  2. 数据结构-单链表进阶之快慢指针原理(快速查找法)
  3. 有些时候,我们以为对的意见,往往在行家看来是比较幼稚之亲身经历
  4. Angular:Use function as controller
  5. 如何把极坐标化为直角坐标_2019高考100题之063(极坐标)
  6. 前端代码部署后通过html访问,将前端项目部署到nginx上
  7. .net textbox全屏后自适应变大_手机屏幕太小?无套路不花钱变大屏!
  8. 0基础学python要多久-零基础学Python的过程有多难?需要多久?
  9. window下Oracle 11G安装文档
  10. Zabbix 3.4.2 install Configuration
  11. w ndows系统启动日志ID,查看windows系统日志方法
  12. Instant-Meshes-奇异点检测
  13. 苹果上网本报价_1小时一个价 iPhone12加价300元起
  14. Windows系统的Chrome 调试运行在 IOS-safari (iPad/iPhone)上的页面
  15. Excel VBA(04)数组和字典
  16. rgb与16进制颜色是如何相互转换的?
  17. UART介绍版(勿看简单介绍)
  18. 电子制造仓储条码管理系统解决方案
  19. 数据结构专题——虚树
  20. echarts 热点泡泡图

热门文章

  1. 前端_快速入门Vue.js框架
  2. 计算机网络笔记—计算机网络概述
  3. excel图表美化:用散点标记制作不一样的折线图
  4. 金融安全:谁忽略了移动应用加密?
  5. matlab diff函数
  6. 用python来编写TSP问题
  7. 车截导航显示服务器错误怎么办,车载导航常见故障
  8. Unity 网络编程入门
  9. linux设置开机自启某个命令
  10. chrome电脑棒 刷linux,其实已经够用:华硕Chromebit电脑棒评测