API的确切含义是什么?[关闭]


164

我已经用一种编程语言搜索了API的定义,但仍然很难理解。

任何人都可以用简单的外行人的话来建议我:

  1. 什么是API?
  2. 如何使用?
  3. 在何时何地使用它?

7
您是否首先尝试了FOLDOC?foldoc.org/API对我来说,他们的定义似乎是“外行”。
Ray Toal

@pst我想当然会认为OP已经查看了Wikipedia,因为谁不检查Wikipedia?对在查阅维基百科之前使用FOLDOC 1995年定义的可能性的嘲讽是错误的。我应该删除评论吗?
Ray Toal

如果您正在寻找外行的解释,请尝试:welcometosoftware.com/what-is-an-api(免责声明:我写的)
Sam Malayek

Answers:


129

搜索应包括Wikipedia,这对于许多编程概念/术语(例如应用程序编程接口)具有令人惊讶的好处

什么是API?

应用程序编程接口(API)是一组特定的规则(“代码”)和规范,软件程序可以遵循这些规则和规范相互通信。它充当不同软件程序之间的接口并促进它们之间的交互,类似于用户界面促进人与计算机之间交互的方式。

如何使用?

使用任何规则集的方式相同。

在何时何地使用它?

自然取决于领域和API。考虑这些:

  1. x86(IA-32)指令集(非常有用;-)
  2. 一个BIOS中断调用
  3. OpenGL,通常公开为C库
  4. Windows核心系统调用:WinAPI
  5. Ruby核心库中的类和方法
  6. 浏览器向JavaScript公开的文档对象模型
  7. Web服务,例如Facebook的Graph API提供的服务
  8. 诸如Java中的JNI之类的协议的实现

快乐的编码。


4
+1表示“非常好”。对于计算,维基百科是最重要的。某些人可能还记得Wikipedia与Britannica在自然界的比较:'''据《华尔街日报》说:“ [威尔士说,他很高兴自然界选择了与科学相关的主题,因为在历史和社会科学方面,我们较弱。' 在其他地区-包括计算机科学与历史“星际迷航”,他说-维基百科是“‘’”(从“更好的方式。” dailybarometer.com/forum/...
雷特里

2
api上的@ user166390 Wikipedia条目现在非常糟糕...我编写了api,但该条目实际上使我感到困惑。引用您所做的事情是一件好事,因为它显然变得更糟了。
eric 2014年

我想问的是放在ajax请求的URL中的php文件是否是API?或者ajax请求本身已经是API?
布朗曼复兴

API是否也用于物联网?还是物联网设备如何发送和接收数据?
Pathros

57

API是一种接口,您可以通过该接口访问别人的代码,也可以通过别人的代码访问您的代码。实际上是公共方法和属性。


4
最后一句值得注意,可以在...上加以扩展
tumultous_rooster 2014年

45

1)什么是API?

API是合同。以特定方式提出要求时承诺执行描述的服务。

2)如何使用?

根据合同中规定的规则。API的全部重点是定义其使用方式。

3)何时何地使用?

当两个或两个以上独立的系统需要协同工作以实现他们无法独自完成的工作时,将使用此方法。


44

好吧,除了所有答案,我只是添加一个示例。

正如有人说API stands for Application Programming Interface通过softwares can interact with each other。注意,不是人与人之间的互动。

使用地点

例如:您正在通过信用卡在线购买商品。您将提供信用卡详细信息,然后按“继续”按钮。它会告诉您您的信息是否正确。为了提供这些结果,背景中有很多东西。

该应用程序会将您的信用卡详细信息发送到远程应用程序,该程序将验证您的信息并将结果发送回您的应用程序。在这种情况下使用API​​。

希望对不了解API的初学者有所帮助。

另一个例子

天气应用

没有API -Weather应用程序必须打开weather.com网站并像人类一样阅读详细信息。

使用API -Weather应用程序会将消息发送到weather.com并接收结果,然后将其显示。

消息来源 -各种在线资源


2
日常例子解释清楚Thanku这么多的将是有益的给新生像我一样
西

因此,在这种情况下,API是weather.com可以在我的请求中发送数据吗?还是API是我的应用程序,用于发送请求,接收数据并以某种方式显示它?还是API是weather.com和我的应用程序之间的关系?
帕维尔

1
@PawełAPI将是请求数据的应用程序
Gibbs

@Paweł这样考虑:应用程序有两个界面。首先,人类用户的UI(界面)。其次,是另一个应用程序的API(接口)。因此,天气应用程序和weather.com之间的API是weather.com。
vpibano

15
  1. API(应用程序编程接口)是一组定义的函数和方法,用于与基础操作系统或计算机上运行的其他程序或服务进行交互。

  2. 通常通过在软件中建立对库的引用或从dll导入函数来使用它。

  3. 它在几乎所有软件中都以一种或另一种形式使用,可以在程序中显式调用,也可以由编译器隐式调用。


10

API代表应用程序编程接口,即API是应用程序与某些系统/应用程序/库/等进行交互的方式。

例如,有适用于OS的API(WinAPI),适用于其他应用程序(例如数据库)和特定库(例如图像处理)的API,等等。

API通常以客户端应用程序可消耗的形式开发。对于C / C ++应用程序,它设置了头文件和动态/静态库。对于Java-套罐。等等。


API是否也用于物联网?物联网设备如何发送和接收数据?
Pathros


6

用外行的话来说,我一直说API就像是两个说不同语言的人之间的翻译器。在软件中,可以使用API​​(或翻译器)使用或分发数据,以便两种不同的软件可以进行通信。好的软件具有强大的转换器(API),该转换器遵循有关安全性和数据清洁性的规则和协议。

我是行销商,不是编码员。这可能并不完全正确,但这就是我十年来一直试图表达的内容...


5

API是一组命令,函数和协议,程序员在为特定OS或任何其他软件构建软件时可以使用。该API允许程序员使用预定义的功能与操作系统进行交互,而不是从头开始编写它们。所有计算机操作系统(例如Windows,Unix和Mac OS)和语言(例如Java)都为程序员提供了应用程序接口。

资源


5

应对这种情况:

马克(Mark)和丽莎(Lisa)秘密地是一对夫妇,由于年龄差异,他们不允许在一起。马克和丽莎每天晚上见面时,没人在看。他们制定了一套自己的规则,以便在时间到来时进行沟通。他站在她的花园里,把小石头扔向她的窗户。丽莎知道这是时候了,他的回应是从窗户里挥舞着,然后将其打开,这样马克就可以爬进去。这就是API如何工作的示例。摇滚是最初要求的另一端。另一头挥手,打开了一个窗口,该窗口基本上意味着“欢迎光临!”。

API几乎就像人类语言一样,但用于计算机。


3

API定义了接口,软件可以通过这些接口与源级别的另一软件进行通信。它通过提供一组标准接口(通常是功能)来提供抽象,一个软件(通常是较高级别的软件)可以从另一软件(通常是较低级的软件)调用这些接口。

例如,API可以通过一系列提供绘制文本所需的一切功能来抽象在屏幕上绘制文本的概念。API仅定义接口;实际提供API的软件称为API的实现。

通常将API称为“合同”。至少从术语的法律意义上来说,这是不正确的,因为API不是双向协议。API用户(通常是高级软件)对API及其实现的输入为零。它可能会按原样使用API​​,或者根本不使用它:接受还是保留它!

API的真实示例是由C标准定义并由标准C库实现的接口。该API定义了一系列基本功能和基本功能,例如内存管理和字符串操作例程。


0

假设您正在开发一款游戏,并且您希望游戏用户在玩游戏之前登录其Facebook个人资料(以获取个人资料信息),那么您的游戏将如何访问Facebook?现在是API了,Facebook已经为您编写了程序(API),您只需要在游戏应用程序中使用这些程序即可。使用Facebook-API可以在应用程序中使用它们的服务。以及有关API的详细信息... http://money.howstuffworks.com/business-communications/how-to-leverage-an-api-for-conferencing1.htm


3
而你实际上并没有说什么是...:}而且它更不喜欢的节目,而只是一个接口。处理某些程序的方式。
Kamiccolo 2014年

-1

应用程序接口(API)是用于构建软件应用程序的一组例程,协议和工具。API指定在对图形用户界面(GUI)组件进行编程时应如何交互软件组件以及使用API​​。好的API可以通过提供所有构件来简化程序的开发。然后,程序员将这些块放在一起。

来源:http//www.webopedia.com/TERM/A/API.html

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.