API 的具体含义是啥? [关闭]
Posted
技术标签:
【中文标题】API 的具体含义是啥? [关闭]【英文标题】:What exactly is the meaning of an API? [closed]API 的具体含义是什么? [关闭] 【发布时间】:2011-11-18 09:59:01 【问题描述】:我在编程语言中搜索过 API 的定义,但仍然难以理解。
谁能用通俗易懂的语言给我建议:
-
什么是 API?
如何使用?
何时何地使用它?
【问题讨论】:
您是否先尝试了 FOLDOC? foldoc.org/API 他们的定义对我来说似乎相当“外行”。 @pst 我会理所当然地认为 OP 已经查看了 Wikipedia,因为谁不检查 Wikipedia?在检查***之前,对使用 FOLDOC 1995 年定义的可能性进行了错误的讽刺。我应该删除评论吗? 如果您正在寻找外行的解释,请尝试:welcometosoftware.com/what-is-an-api(免责声明:我写的) 【参考方案1】:搜索应包括 Wikipedia,对于许多编程概念/术语,例如 Application Programming Interface:
,它非常好什么是 API?
应用程序编程接口 (API) 是一组特定的规则(“代码”)和规范,软件程序可以遵循这些规则进行相互通信。它充当不同软件程序之间的接口并促进它们的交互,类似于用户界面促进人与计算机之间交互的方式。
如何使用?
任何规则集的使用方式都相同。
何时何地使用它?
自然取决于领域和 API。考虑这些:
-
The x86 (IA-32) Instruction Set(非常有用 ;-)
一个Bios interrupt call
OpenGL 通常作为 C 库公开
核心 Windows 系统调用:WinAPI
Ruby's core library 中的类和方法
浏览器向 javascript 公开的Document Object Model
Web services,如Facebook's Graph API提供的那些
协议的实现,例如JNI in Java
编码愉快。
【讨论】:
+1 喊出“出奇的好”。对于计算,***是***的。有些人可能还记得大自然对***与大英百科全书的比较:'''根据华尔街日报:“[威尔士]说他很高兴大自然选择比较与科学相关的主题,因为在历史和社会科学方面,我们非常较弱的。'他说,在其他领域——包括计算机科学和《星际迷航》的历史——***“要好得多。”“'''(来自dailybarometer.com/forum/…) @user166390 wikipedia entry on api 现在很糟糕......我写了 apis 并且那个条目实际上让我感到困惑。好在你引用了你所做的,因为它显然变得更糟了。 我想问的是放在ajax请求的url中的php文件是API吗?或者ajax请求本身已经是API了? API 是否也用于物联网?或者物联网设备如何发送和接收数据?【参考方案2】:API 是您访问他人代码或他人代码访问您的代码的接口。实际上是公共方法和属性。
【讨论】:
最后一句话值得注意,可以扩展...【参考方案3】:好吧,除了所有的答案,我只是添加一个例子。
正如其他人所说的API stands for Application Programming Interface
通过softwares can interact with each other
。请注意,不是人工交互。
在哪里使用
例如:您通过信用卡在线购买商品。您将提供信用卡详细信息并按“继续”按钮。它会告诉您您的信息是否正确。为了提供这些结果,背景中有很多东西。
该应用程序会将您的信用卡详细信息发送到远程应用程序,该应用程序将验证您的信息并将结果发送回您的应用程序。本场景使用 API。
希望对不太了解 API 是什么的初学者有所帮助。
另一个例子
天气应用
没有 API - 天气应用程序必须打开 weather.com 网站并像人类一样阅读详细信息。
使用 API - 天气应用程序将向weather.com 发送消息并接收结果然后显示。
来源 - 各种在线资源
【讨论】:
用日常示例清楚地解释了非常感谢像我这样的新人会有所帮助 那么在这种情况下,API 是根据我的请求发送数据的 weather.com?还是 API 是我发送请求、接收数据并以某种方式显示的应用程序?还是 API 是 weather.com 和我的应用的关系? @Paweł API 将是请求数据的应用程序 @Paweł 这样想:一个应用程序有两个界面。首先,人类用户的 UI(界面)。其次,是另一个应用程序的API(接口)。因此,天气应用程序和weather.com 之间的API 是weather.com。【参考方案4】:1) 什么是 API?
API 是一种合同。承诺在以特定方式询问时执行所描述的服务。
2) 如何使用?
根据合同规定的规则。 API 的全部意义在于定义它的使用方式。
3) 何时何地使用它?
当两个或多个独立的系统需要协同工作以实现他们无法单独完成的事情时使用它。
【讨论】:
【参考方案5】:API(应用程序编程接口)是一组定义的函数和方法,用于与底层操作系统或计算机上运行的其他程序或服务进行交互。
通常通过在软件中建立对库的引用或从 dll 中导入函数来使用。
它在几乎所有软件中都以一种或另一种形式使用,在您的程序中显式调用或由编译器隐式调用。
【讨论】:
【参考方案6】:API 代表应用程序编程接口,即 API 是应用程序与某些系统/应用程序/库/等交互的方式。
例如,有用于操作系统的 API (WinAPI)、用于其他应用程序(如数据库)和特定库(例如,图像处理)的 API 等。
API 通常以客户端应用程序可使用的形式开发。对于 C/C++ 应用程序,它是一组头文件和动态/静态库。对于 Java - 一组罐子。以此类推。
【讨论】:
API 是否也用于物联网?物联网设备如何发送和接收数据?【参考方案7】:它是一组相互交互的软件组件。它提供了一组函数、变量和对象类,用于创建应用程序、操作系统或任何其他事物。
【讨论】:
【参考方案8】:考虑一下这种情况:
Mark 和 Lisa 是秘密情侣,由于年龄不同,他们不被允许在一起。马克和丽莎每天晚上都会在没人看的时候见面。他们已经建立了自己的一套规则,以便在时机成熟时进行沟通。他站在她的花园里,把小石头扔到她的窗户上。 Lisa 知道是时候了,并通过从窗口挥手并随后打开它来响应,以便 Mark 可以爬进去。这就是 API 工作方式的示例。 岩石是对另一端的初始请求。另一端挥手,打开基本上意思是“欢迎进来!”的窗口。
API 几乎类似于人类语言,但用于计算机。
【讨论】:
【参考方案9】:用外行的话来说,我一直说 API 就像是两个说不同语言的人之间的翻译器。在软件中,可以使用 API(或翻译器)使用或分发数据,以便两种不同类型的软件可以通信。好的软件有一个强大的转换器 (API),它遵循安全和数据清洁的规则和协议。
我是营销人员,而不是编码员。这一切可能并不完全正确,但这是我 10 年来一直试图表达的......
【讨论】:
【参考方案10】:API 是程序员在为特定操作系统或任何其他软件构建软件时可以使用的一组命令、函数和协议。 API 允许程序员使用预定义的函数与操作系统交互,而不是从头开始编写它们。 所有计算机操作系统,如 Windows、Unix 和 Mac OS 以及 Java 等语言都为程序员提供了应用程序接口。
Source
【讨论】:
【参考方案11】:API 定义了一个软件在源代码级别与另一个软件通信的接口。它通过提供一组标准接口(通常是函数)来提供抽象,一个软件(通常是更高级别的部分)可以从另一个软件(通常是较低级别的部分)调用这些接口。
例如,API 可以通过一系列函数抽象在屏幕上绘制文本的概念,这些函数提供绘制文本所需的一切。 API 仅仅定义了接口;实际提供 API 的软件称为 API 的实现。
通常将 API 称为“合同”。这是不正确的,至少在该术语的法律意义上是不正确的,因为 API 不是双向协议。 API 用户(通常是更高级别的软件)对 API 及其实现的输入为零。它可以按原样使用 API,或者根本不使用它:要么接受,要么放弃!
API 的一个真实示例是由 C 标准定义并由标准 C 库实现的接口。此 API 定义了一系列基本和基本功能,例如内存管理和字符串操作例程。
【讨论】:
【参考方案12】:假设您正在开发一款游戏,并且您希望游戏用户在玩游戏之前登录他们的 Facebook 个人资料(以获取您的个人资料信息),那么您的游戏将如何访问 Facebook? 现在API来了。Facebook已经为你编写了程序(API),你只需要在你的游戏应用程序中使用这些程序。使用Facebook-API你可以在你的应用程序中使用他们的服务。这是一个很好的并详细了解 API... http://money.howstuffworks.com/business-communications/how-to-leverage-an-api-for-conferencing1.htm
【讨论】:
而且你实际上并没有说 WHAT 是什么... : 而且它更像不是一个程序,而只是一个界面。一些程序的处理方式。【参考方案13】:应用程序接口 (API) 是一组用于构建软件应用程序的例程、协议和工具。 API 指定软件组件应如何交互以及在对图形用户界面 (GUI) 组件进行编程时使用 API。一个好的 API 可以通过提供所有的构建块来更容易地开发程序。然后程序员将这些块放在一起。
来源: http://www.webopedia.com/TERM/A/API.html
【讨论】:
以上是关于API 的具体含义是啥? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章