应用程序编程接口

编辑
本词条由“匿名用户” 建档。
应用程序编程接口(API)是计算接口,其限定多个软件中介之间的相互作用。它定义了可以进行的调用或请求的类型,如何进行调用,应使用的数据格式,要遵循的约定等。它还可以提供扩展机制,以便用户可以通过各种方式扩展现有功能。在不同程度上。应用程序编程接口API可以是完全自定义的,特定于组件,也可以基于行业标准进行设计以确保互操作性。通过信息隐藏,API支持模块化编程,从而允许用户独立于实现使用接口。 ...

应用程序编程接口

编辑

应用程序编程接口(API)是计算接口,其限定多个软件中介之间的相互作用。它定义了可以进行的调用或请求的类型,如何进行调用,应使用的数据格式,要遵循的约定等。它还可以提供扩展机制,以便用户可以通过各种方式扩展现有功能。在不同程度上。应用程序编程接口API可以是完全自定义的,特定于组件,也可以基于行业标准进行设计以确保互操作性。通过信息隐藏,API支持模块化编程,从而允许用户独立于实现使用接口。

目的

编辑

在构建应用程序时,API(应用程序编程接口)通过抽象化底层实现并仅公开开发人员需要的对象或动作来简化编程。电子邮件客户端的图形界面可能会为用户提供执行获取和突出显示新电子邮件的所有步骤的按钮,而用于文件输入/输出的应用程序编程接口可能会为开发人员提供一种将文件从一个位置复制到另一个位置的功能,而无需要求开发人员了解幕后发生的文件系统操作。

应用程序编程接口

用法

编辑

库和框架

API通常与软件库有关。该应用程序编程接口描述并规定了“预期行为”(一种规范),而该库是这套规则的“实际实现”。

单个API可以采用共享同一编程接口的不同库的形式,具有多种实现(或者没有一种抽象)。

将API与实现分开,可以允许以一种语言编写的程序使用以另一种语言编写的库。例如,由于Scala和Java编译为兼容的字节码,因此Scala开发人员可以利用任何Java API。

应用程序编程接口的使用取决于所涉及的编程语言的类型。诸如Lua之类的过程语言的API 可以主要由执行代码,处理数据或处理错误的基本例程组成,而诸如Java之类的面向对象语言的API则可以提供类及其类方法的规范。

语言绑定也是应用程序编程接口。通过将一种语言的特性和功能映射到以另一种语言实现的接口,语言绑定允许在以另一种语言进行开发时使用以一种语言编写的库或服务。等工具SWIG和F2PY,一个的Fortran -到- 的Python接口发生器,便于这样的接口的创建。

应用程序编程接口也可以与软件框架相关:框架可以基于实现了多个API的多个库,但是与API的正常使用不同,对框架内建行为的访问是通过使用新类扩展其内容来实现的插入框架本身。

而且,控制的总体程序流程可以通过控制反转或类似机制而不受调用者的控制,而不受框架的控制。

操作系统

应用程序编程接口可以指定应用程序和操作系统之间的接口。例如,POSIX指定一组通用API,这些API旨在使为POSIX兼容操作系统编写的应用程序能够为另一个POSIX兼容操作系统编译。

Linux和Berkeley软件发行版是实现POSIX API的操作系统的示例。

Microsoft已显示出对向后兼容API的坚定承诺,尤其是在其Windows API(Win32)库中,因此较旧的应用程序可以使用称为“兼容模式”的特定于可执行文件的设置在较新版本的Windows上运行。

API与应用程序二进制接口(ABI)的不同之处在于,API是基于源代码的,而ABI是基于二进制的。例如,POSIX提供API,而Linux Standard Base提供ABI。

远程API

远程API允许开发人员通过协议(特定的通信标准)来操纵远程资源,该协议允许不同的技术一起工作,而不论语言或平台如何。例如,Java数据库连接API允许开发人员使用相同的功能集查询许多不同类型的数据库,而Java远程方法调用 API使用Java远程方法协议来允许调用远程操作但在本地运行的功能开发人员。

因此,远程API在维护面向对象编程中的对象抽象时很有用;在代理对象上本地执行的方法调用,使用远程协议在远程对象上调用相应的方法,并获取要在本地用作返回值的结果。

对代理对象的修改也将导致对远程对象的相应修改。

Web API

Web API是企业和使用其资产的应用程序之间进行交互的已定义接口,这也是服务水平协议(SLA),用于指定功能提供者并为其API用户公开服务路径或URL。应用程序编程接口方法是一种体系结构方法,它围绕为服务于不同类型消费者的不同应用程序提供一组服务程序接口的方法。

当在Web开发的上下文中使用API​​时,通常将其定义为一组规范,例如超文本传输​​协议(HTTP)请求消息以及响应消息的结构定义,通常以可扩展标记语言(XML))或JavaScript对象表示法(JSON)格式。例如运输公司API,可以将其添加到以电子商务为中心的网站上,以方便订购运输服务,并自动包括当前运输价格,而站点开发人员不必在网络数据库中输入运输人的价格表。尽管“ Web API”在历史上实际上是Web服务的代名词,但最近的趋势(所谓的Web 2.0)已从基于简单对象访问协议(SOAP)的Web服务和面向服务的体系结构(SOA)转向更直接的表示状态转移(REST)样式的Web资源和面向资源的体系结构(ROA)。这种趋势的一部分与语义Web向资源描述框架(RDF)的发展有关,RDF是一种基于Web的本体工程技术的概念。Web API允许将多个API组合到称为mashup的新应用程序中。在社交媒体领域,Web API使Web社区可以促进在社区和应用程序之间共享内容和数据。这样,可以将在一个地方动态创建的内容发布并更新到Web上的多个位置。例如,Twitter的REST API允许开发人员访问Twitter的核心数据,而Search API为开发人员提供了与Twitter搜索和趋势数据进行交互的方法。

应用程序编程接口设计

编辑

API的设计对其使用有重大影响。信息隐藏的原理将编程接口的作用描述为通过隐藏模块的实现细节来实现模块化编程,从而使模块用户无需了解模块内部的复杂性。因此,API的设计试图仅提供用户期望的工具。编程接口的设计代表了软件体系结构的重要组成部分,即复杂软件的组织。

内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/111884/

(3)
词条目录
  1. 应用程序编程接口
  2. 目的
  3. 用法
  4. 库和框架
  5. 操作系统
  6. 远程API
  7. Web API
  8. 应用程序编程接口设计

轻触这里

关闭目录

目录