本页使用了标题或全文手工转换

应用程序接口

维基百科,自由的百科全书
跳到导航 跳到搜索

与因特网相连的端系统提供了一个应用程序接口(英語:Application Programming Interface,缩写:API;又称为应用程序编程接口)是软件系统不同组成部分衔接的约定。

API规定了运行在一个端系统上的软件请求因特网基础设施向运行在另一个端系统上的特定目的地软件交付数据的方式。比方说:Alice使用邮政服务向Bob发一封信,邮政服务要求Alice将信放进信封中;在信封的中央写上Bob的全名、地址和邮政编码;封上信封;在信封的右上角贴上邮票;最后将信封丢进邮箱里;邮政服务有自己的“邮政服务API”或一套规则,Alice必须这么遵循,邮政服务才能把信寄给Bob;同理,因特网也有一个发送数据的程序必须遵循的API,使因特网向接收数据的程序交付数据。---来源于:《计算机网络-自顶向下学习法》

由於近年來软件的规模日益庞大,常常需要把复杂的系统划分成小的组成部分,编程接口的设计十分重要。程序设计的实践中,编程接口的设计首先要使软件系统的职责得到合理划分。良好的接口设计可以降低系统各部分的相互依赖,提高组成单元的内聚性,降低组成单元间的耦合程度,从而提高系统的可维护性和可扩展性。

概要[编辑]

应用程序接口為:「『電腦操作系统Operating system)』或『程式函式庫』提供給應用程式呼叫使用的程式碼」。其主要目的是讓應用程式開發人員得以呼叫一組例程功能,而無須考慮其底層的原始碼為何、或理解其内部工作機制的細節。API本身是抽象的,它僅定義了一個介面,而不涉及应用程序在实际实现过程中的具体操作。

例如,图形库中的一组API定義了繪製指標的方式,可於图形输出设备上顯示指標。當應用程式需要指標功能時,可在引用、編譯時連結到這組API,而執行時就會呼叫此API的實現(库)來顯示指標。

应用程序接口可以是一組數量上千、極其複雜的函數和副程式,可讓程式設計師做很多工作,譬如「讀取文件」、「顯示選單」、「在視窗中顯示網頁」等等。操作系统的API可用來分配記憶體或讀取檔案。許多系統應用程式藉由API接口來實現,像是圖形系統、資料庫、網路Web服务,甚至是線上遊戲。

应用程序接口有诸多不同设计。用于快速执行的接口通常包括函数常量变量数据结构。也有其它方式,如通过解释器,或是提供抽象层以遮蔽同API实现相关的信息,确保使用API的代码无需更改而适应实现变化。

应用程序接口經常是软件开发工具包(SDK)的一部分。

API種類[编辑]

API又分为(WindowsLinuxUnix等系统的)系统级API,及非操作系统级的自定义API。作为一种有效的代码封装模式,微软Windows的API开发模式已经为许多商业应用开发的公司所借鉴,并开发出某些商业应用系统的API函数予以发布,方便第三方进行功能扩展。如Google苹果电脑公司,以及诺基亚等手机开发的API等等。

面向对象语言的API[编辑]

库与框架的API[编辑]

API与协议[编辑]

API与设备接口[编辑]

Web API[编辑]

API的开发样例代码[编辑]

API的应用开发需要按照API发布者提供的的规范进行开发。

比如,以下两个例子是Windows API在各编程语言中的表达方式:

[Public|Private] Declare Function|Sub name Lib "libname" [Alias "aliasname"]([[Byval] variable [As type][[Byval] variable [As type]]...]) [As type]
  • C#(C Sharp)
[DllImport("libname", 'Named Parameters')]
[public|private|internal] [Type] FunctionName(Type parameter1,Type parameter2...);

参见[编辑]

外部連結[编辑]