浅析API和SDK的区别与联系

在看博文的时候经常会看到API和SDK两个字眼,例如chatgptAPT,微信API啥的,总是不明所以,搜百度甚至都能把自己绕晕,接下来我将带你搞懂这两个概念。       

 API(应用程序编程接口)和SDK(软件开发工具包)是软件开发中的两个重要概念,它们在功能和用途上有显著的区别,但也有紧密的联系。以下就其区别与联系进行浅析:


API:

应用程序编程接口(英语:Application Programming Interface,简称:API),是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。是不是还是云里雾里!

举个栗子:

小vann在丰庭餐厅开了一家麦麦劳,顾客只需要到麦麦劳爆金币就可以拿走订单。但是很快小vann意识到有问题,顾客不知道该如何取餐、顾客有时会拿错单、顾客可能少爆甚至不爆金币(嘿!大胆老登居然敢不爆金币!)。为了应对这种状况,聪明的小vann想到了一个解决办法:雇员工。

于是麦麦劳招进小明作为柜台员工,来处理顾客的各种需求,完成包括取单收钱核对等一系列工作。把这具体的事情抽象化,麦麦劳就是一个Server(服务器),小明就在麦麦劳充当API ,提高了效率。其中柜台就将麦麦劳分割为顾客取单区和员工区,双方互不越界,这就是API接口。为什么麦麦劳的员工知道顾客的需要什么呢,答案当然是麦麦劳有菜单啦,菜单中就规定了哪些菜(薯饼)是可以点的,哪些菜是不能点的(唆指原味鸡),而这个菜单就是API文档,只要照着API文档向服务器输入正确请求,就会输出对应结果。

又有一天,麦麦劳来了一个日本人,但是小明作为一个中国人听不懂日语怎么办,这时就请到了会日语的小广,小广和小明就是不同的API端点。API 端点指的是同一个接口中提供特定功能子集的服务提供者。小明和小广都是API中的端点,他们的工作不一样而已。

不知道各位有没有对API有更深的理解。


SDK:

软件开发工具包(Software Development Kit,SDK [5])一般都是一些软件工程师为特定的软件包软件框架硬件平台、操作系统等建立应用软件时的开发工具的集合。软件开发工具广义上指辅助开发某一类软件的相关文档、范例和工具的集合。依然搞不懂这是在讲什么。

举个小栗子:

你是一位建筑师,准备建造一栋房屋。你需要各种工具、材料、设计图纸,以及施工指南来完成这项工程。SDK就像是一个“建筑师工具箱”,里面包含了你需要的一切来建造房屋。

工具箱又包括:

  1. 设计图纸(API)

    • 工具箱中有详细的设计图纸,这些图纸告诉你如何建造房屋的每个部分。例如,房屋的结构图、电线布局图、水管安装图等。
    • 这些图纸相当于API,它们定义了房屋的各个部分(功能)以及如何搭建(使用)它们。
  2. 工具(开发工具)

    • 工具箱中有各种各样的工具,如锤子、钉子、螺丝刀、电钻等,这些工具帮助你实际执行建造工作。
    • 这些工具相当于SDK中的开发工具,如编译器、调试器等,帮助你实现和调试代码。
  3. 材料(库和框架)

    • 工具箱中还包括建造房屋所需的材料,如木材、砖块、水泥、钢筋等。这些材料是你建造房屋的基础。
    • 这些材料相当于SDK中的库和框架,提供了实现功能的基础组件和模块。
  4. 说明书(文档)

    • 工具箱中有详细的说明书,指导你如何使用工具、材料以及按照设计图纸建造房屋。这些说明书非常详细,确保你不会出错。
    • 说明书相当于SDK中的文档,提供了API的使用说明、示例代码和开发指南。
  5. 示例房屋(示例代码)

    • 工具箱中还包括一个小型的示例房屋模型,展示了最终建造好的房屋是什么样子。你可以参考这个模型,确保自己的建造过程正确无误。
    • 这个示例房屋相当于SDK中的示例代码,帮助你理解如何使用API和工具来实现特定功能。

以上就是关于SDK的介绍。


联系:

API是SDK的一部分: SDK通常包含API。API提供具体的功能调用接口,而SDK提供了实现这些接口的工具和资源。

协同工作: 开发者使用SDK中的工具和API进行开发,API定义了应用的功能和行为,SDK提供了实现和测试这些功能的环境。

简化开发过程: SDK通过集成API和其他工具,简化了开发流程,提高了开发效率。

区别:

范围: API是一个特定的接口定义,SDK是一个综合工具包。

内容: API主要是函数、方法和协议定义,SDK包含API、开发工具、文档和示例代码。

用途: API用于提供功能调用接口,SDK用于提供全面的开发支持。

以上就是全部关于API和SDK的介绍。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值