专业汉语词典知识平台,分享汉字词语知识、历史文学知识解答!

励北网
励北网

api是什么意思

来源:小易整编  作者:小易  发布时间:2023-03-06 02:12
摘要:api是什么意思API(ApplicationProgrammingInterface)有点类似于肯德基汽车穿梭窗口。但在代码中,它们接受输入并提供可预测的输出。在其核心,API是一组接受输入并给出输出的代码大多数现代应用程序(如Excel...
api是什么意思
API(Application Programming Interface)有点类似于肯德基汽车穿梭窗口。但在代码中,它们接受输入并提供可预测的输出。
  • 在其核心,API是一组接受输入并给出输出的代码
  • 大多数现代应用程序(如Excel)都是一堆API组成的
  • 有时,公司会公开他们的部分API,比如Twitter或谷歌地图
  • API是软件中比较令人困惑的概念之一,因为它们可以代表很多不同的东西
API为大多数现代软件开发提供了强大的功能,且是可以聪明地讨论代码的关键部分。

什么是API(理论上)?

如果你想理解API,需要进行一个重要的区分:一个是API的技术定义,然后是人们在对话中如何实际使用这个概念。它们非常不同,这就是为什么这些东西会让人很困惑。让我们先来解决技术定义。

api是什么意思

API是一组接受特定输入并给出特定输出的逻辑。几个例子:
  • 如果向谷歌地图API提供一个地址作为输入,它的输出是该地址的经纬度坐标
  • 如果给Javascript Array.Sort API一个数组作为输入,它将这些数字作为输出进行排序
  • 如果你给Lyft Driver API一个起始地址和结束地址作为输入,它会找到最匹配的司机作为输出
当工程师构建代码模块来做特定的事情时,他们清楚地定义了这些模块的输入和输出:这就是API的真正含义。当你给一个API一堆输入来获得你想要的输出时,它被称为调用API。
输入
API通常会确切地告诉你它需要什么样的输入。如果你尝试用你的名字作为谷歌地图API的输入,那不会有什么效果;它被设计用来完成一个非常特定的任务(将地址转换为坐标),因此它只处理非常特定类型的数据。有些API在输入方面非常麻烦,并可能要求你以特定的方式格式化该地址。
输出
就像输入一样,API给你特定的输出。假设你为谷歌地图API提供了正确的输入(一个地址),它将始终以完全相同的格式给你回馈坐标。还有非常具体的错误处理:如果API不能找到你输入的地址的坐标,它会告诉你确切的原因。
这些都是技术和理论上的东西。
那些应用只是API的集合
关于现代软件,最值得理解的一点是,你最喜欢的那些应用只是一堆API,上面有一个漂亮的界面,称为前端。你使用的大多数应用都是建立在这种前端/后端范例之上的。
后端
公司从为用户在应用中需要做的所有重要事情构建API开始。对于Gmail,Google从接收、显示、发送和转发邮件的API开始;但这些都是通过代码调用的。这些API以及使用它们的时间和方式的逻辑是应用的后端。就像汽车引擎盖下正在发生的事。如果你听说过后端工程师,那就是主要处理这些内部组件的开发者。
前端
所有这些后端API只能通过代码来使用,这并不是你想在iPhone上查看电子邮件时遇到的情况。这就是为什么公司要为他们的应用创建前端:图形用户界面使应用美观且可用,而不需要编写代码。下面是Gmail中的工作方式:
  • 你的收件箱显示一排排的电子邮件和主题行:前端将这些后端的电子邮件数据进行了很好的格式化处理
  • 你可以点击星形图标来标记一封邮件:在后端,这将触发一个“标记邮件”的API
前端的大多数交互都被转换成后端的API调用,这就是应用软件101。一旦我开始理解这个模型,就更容易理解开发者如何在对话中实际使用“API”的方式了。

api是什么意思

什么是API(实际上)?

实际上,我发现人们在三种不同的场景中使用“API”,它们都代表着不同的东西。但从理论上讲,它们都是一样的,符合我们之前的定义。它们都是一样的,但又有所不同。

公司内部API

当公司构建他们的应用时,他们把它们设计成一组交互的API。最容易理解的例子是Lyft(或者Uber)。你可能想在Lyft应用中做一些事情,它们在幕后都会触发不同的API。

api是什么意思

这种模式几乎适用于你使用的所有应用:你在应用中采取的操作将触发公司内部API,这些API实际上完成了让你的请求得到满足的工作。公司内部API也是分层的:虽然可能有一个广泛的“预约乘车”API,但在这个“引擎盖”下有一堆较小的API来完成它:查找司机、预约司机、验证信用卡、与用户沟通等。

公共API

Lyft的API都不是公开的:它们只是Lyft在后端为你提供服务的方式。但有时,公司会提供一些他们的API,并告诉你如何使用它们。Twitter的API就是一个很好的例子。

通常,你使用Twitter应用,它会对Twitter内部API进行一些API调用,比如显示提要、发送回复和搜索(这就是我们刚刚谈到的:前端和后端)。但你也可以在Twitter应用之外通过代码调用这些API。例如,有一个抓取用户时间轴的API,你可以使用它来查看用户的时间轴(他们的推文),该API以JSON格式返回那些推文,这是一种特殊的文本格式。

这些公共API让人们在Twitter上构建应用。有一些非常基本的东西,比如笔者做的这个学校项目,收集关于纽约大学的推文,分析他们的情绪,但也有一些相当高级的东西,比如Flock,它可以让你搜索你的订阅者。

代码接口

我们刚刚看到的前两类API都是功能性的,它们通常完成一些实用且容易理解的事情,比如提供坐标或预订乘车。但是开发者也使用“API”来指代更底层级别的输入和输出,比如代码中的函数。

Javascript的array.sort()方法就是一个很好的例子。它是一个接受数字或字母列表作为输入的API,然后对它们进行排序,并将它们作为输出返回给你。还有其他与数组相关的API,比如添加(array.push)和移除(array.pop)东西,过滤(array.filter),以及获取数组的大小(array.length)。当你用Javascript的时候,你会用到这些。

因此,当人们谈论API时,我们并不总是清楚人们到底在谈论什么,特别是因为开发者用这个词指代很多不同的东西。如果你感到困惑,就直接问。答案很可能属于这三类。

api是什么意思


from A to B

api是什么意思



本文地址:百科问答频道 https://www.neebe.cn/wenda/916628.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!


百科问答
小编:小易整编
相关文章相关阅读
  • 销售额是什么意思?

    销售额是什么意思?

    销售额是指商业企业的一项关键指标,代表企业在一定时期内的营业额,它实时反映企业经营活动的情况,是衡量企业经营能力和效益的重要指标。销售额可以有多种形式,如零售销售额、批发销售额和出口销售额等。销售额的计算方法很简单,即:销售额=销售数量...

  • iTools是什么意思?

    iTools是什么意思?

    iTools是一款功能强大的苹果设备管理工具。它为苹果设备用户提供了便捷的设备管理功能,包括文件传输、备份还原、应用程序管理、屏幕截图、屏幕录制、音乐管理、视频管理等多种功能,而且支持所有的i系列设备,例如iPod、iPhone和iPad...

  • 无损分区工具是什么意思?

    无损分区工具是什么意思?

    无损分区工具是一种硬盘分区方式,是指在分区时保持原有数据不受损坏的一种分区技术,这种分区技术称为“无损分区”。无损分区可以保护硬盘上的数据,在分区时不会破坏硬盘上的任何数据。而且,在数据安全性上也有一定的优势,因为它不会破坏的数据,因此可...

  • 消费凭证是什么意思?

    消费凭证是什么意思?

    消费凭证是指一种书面的证明凭证,当消费者购买商品或服务时,商家会向其提供消费凭证,凭此凭证可以证明消费者购买了特定的商品或服务,以及在这次购买中耗费的钱财数额。消费凭证是一种用于表示购买交易的依据,是为消费者提供全面鉴证的凭证。它可以表明...

  • DSM系统是什么意思?

    DSM系统是什么意思?

    DSM是一种新晋的分布式、可扩展的模块化系统。它是以无服务器、全节点一致性的系统架构为基础,采用多进程系统将服务、运维功能以模块化的方式集合到一起而不会配置服务的的系统设计模型。DSM的核心特点在于采用了一致性的分布式架构,模块化的结构,...

  • 裸金属是什么意思?

    裸金属是什么意思?

    简而言之,裸金属是指被提取出来,没有被添加任何基材的未加工金属。它是将矿石熔化下去后提炼出来的金属,用来做各种活动和企业的原材料。裸金属通常是一种切削或加工的未经热处理的金属。裸金属一般不经过任何表面处理,以自身属性状态出售。它不会涂以油...

  • CVSS是什么意思?

    CVSS是什么意思?

    CVSS(CommonVulnerabilityScoringSystem,中文译名“公共漏洞评分系统”)是一种漏洞分级和评分系统,是由美国国家信息安全标准研究所(NIST)推行的一套机制,它利用特定的参数来构建一个漏洞评级分类体系...

  • 键盘接口是什么意思?

    键盘接口是什么意思?

    键盘接口一般是用于挂接键盘的接口。它也称为键盘插座或键盘接头,它是一个连接键盘和计算机系统之间的重要硬件部件。键盘接口可以用来接收键盘上发出信号,以便在主板上发出完整的指令。键盘接口可以分为有线和无线两种,有线键盘接口是指采用插孔的连接方...

  • 周排行
  • 月排行
  • 年排行

精彩推荐