应用程序接口
应用程序接口(英语:application programming interface,缩写作 API),又称为应用编程接口,就是软件系统不同组成部分衔接的约定。由於近年來软件的规模日益庞大,常常需要把复杂的系统划分成小的组成部分,编程接口的设计十分重要。程序设计的实践中,编程接口的设计首先要使软件系统的职责得到合理划分。良好的接口设计可以降低系统各部分的相互依赖,提高组成单元的内聚性,降低组成单元间的耦合程度,从而提高系统的可维护性和可扩展性。
目录
1 概要
2 API種類
2.1 面向对象语言的API
2.2 库与框架的API
2.3 API与协议
2.4 API与设备接口
2.5 Web API
3 API的开发样例代码
4 参考文献
5 外部連結
6 参见
概要
应用程序接口為:「『電腦操作系统(Operating system)』或『程式函式庫』提供給應用程式呼叫使用的程式碼」。其主要目的是讓應用程式開發人員得以呼叫一組例程功能,而無須考慮其底層的原始碼為何、或理解其内部工作機制的細節。API本身是抽象的,它僅定義了一個介面,而不涉及应用程序在实际实现过程中的具体操作。
例如,图形库中的一组API定義了繪製指標的方式,可於图形输出设备上顯示指標。當應用程式需要指標功能時,可在引用、編譯時連結到這組API,而執行時就會呼叫此API的實現(库)來顯示指標。
应用程序接口是一組數量上千、極其複雜的函數和副程式,可讓程式設計師做很多工作,譬如「讀取文件」、「顯示選單」、「在視窗中顯示網頁」等等。操作系统的API可用來分配記憶體或讀取檔案。許多系統應用程式藉由API接口來實現,像是圖形系統、資料庫、網路Web服务,甚至是線上遊戲。
应用程序接口有诸多不同设计。用于快速执行的接口通常包括函数、常量、变量与数据结构。也有其它方式,如通过解释器,或是提供抽象层以遮蔽同API实现相关的信息,确保使用API的代码无需更改而适应实现变化。
应用程序接口經常是软件开发工具包(SDK)的一部分。
API種類
API又分为(Windows、Linux、Unix等系统的)系统级API,及非操作系统级的自定义API。作为一种有效的代码封装模式,微软Windows的API开发模式已经为许多商业应用开发的公司所借鉴,并开发出某些商业应用系统的API函数予以发布,方便第三方进行功能扩展。如Google、苹果电脑公司,以及诺基亚等手机开发的API等等。
面向对象语言的API
- JAVA API 列表
库与框架的API
- Windows API
微软Windows的DirectX
Simple DirectMedia Layer(SDL)
API与协议
- LDAP應用程式介面
API与设备接口
- PC BIOS调用接口
ASPI for SCSI device interfacing
Web API
Google地图的API- MediaWiki API
API的开发样例代码
API的应用开发需要按照API发布者提供的的规范进行开发。
比如,以下两个例子是Windows API在各编程语言中的表达方式:
- Visual Basic
[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...);
参考文献
外部連結
.mw-parser-output .refbegin{font-size:90%;margin-bottom:0.5em}.mw-parser-output .refbegin-hanging-indents>ul{list-style-type:none;margin-left:0}.mw-parser-output .refbegin-hanging-indents>ul>li,.mw-parser-output .refbegin-hanging-indents>dl>dd{margin-left:0;padding-left:3.2em;text-indent:-3.2em;list-style:none}.mw-parser-output .refbegin-100{font-size:100%}
设计好的应用程序接口之法及其重要性 (英文)
如何写应用程序接口 (英文) 可实现的范例,并带有详细的代码及原因。
面向服务的体系结构(SOA):通向企业应用集成(EAI)之路(英文)
ISO/IEC JTC 1 Directives, 5th Edition Version 3.0, Annex J: Guidelines for API standardization(英文)
参见
- 软件工程
|