java系统找不到指定文件怎么解决
265
2022-10-22
什么是API,不同场景中的API
在其核心,API是一组接受输入并给出输出的代码
大多数现代应用程序(如Excel)都是一堆API组成的
API是软件中比较令人困惑的概念之一,因为它们可以代表很多不同的东西
API为大多数现代软件开发提供了强大的功能,且是可以聪明地讨论代码的关键部分。
什么是API(理论上)?
如果你想理解API,需要进行一个重要的区分:一个是API的技术定义,然后是人们在对话中如何实际使用这个概念。它们非常不同,这就是为什么这些东西会让人很困惑。让我们先来解决技术定义。
API是一组接受特定输入并给出特定输出的逻辑。几个例子:
如果向谷歌地图API提供一个地址作为输入,它的输出是该地址的经纬度坐标
如果你给Lyft Driver API一个起始地址和结束地址作为输入,它会找到最匹配的司机作为输出
你的收件箱显示一排排的电子邮件和主题行:前端将这些后端的电子邮件数据进行了很好的格式化处理
前端的大多数交互都被转换成后端的API调用,这就是应用软件101。一旦我开始理解这个模型,就更容易理解开发者如何在对话中实际使用“API”的方式了。
什么是API(实际上)?
实际上,我发现人们在三种不同的场景中使用“API”,它们都代表着不同的东西。但从理论上讲,它们都是一样的,符合我们之前的定义。它们都是一样的,但又有所不同。
公司内部API
当公司构建他们的应用时,他们把它们设计成一组交互的API。最容易理解的例子是Lyft(或者Uber)。你可能想在Lyft应用中做一些事情,它们在幕后都会触发不同的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时,我们并不总是清楚人们到底在谈论什么,特别是因为开发者用这个词指代很多不同的东西。如果你感到困惑,就直接问。答案很可能属于这三类。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~