應用程式介面

API」重新導向至此。關於其他意思,詳見「API (消歧義)」。

應用程式介面英語:Application Programming Interface,簡稱:API),又稱為應用編程介面,就是軟體系統不同組成部分銜接的約定。由於近年來軟體的規模日益龐大,常常需要把複雜的系統劃分成小的組成部分,編程介面的設計十分重要。程式設計的實踐中,編程介面的設計首先要使軟體系統的職責得到合理劃分。良好的介面設計可以降低系統各部分的相互依賴,提高組成單元的內聚性,降低組成單元間的耦合程度,從而提高系統的維護性和擴充功能性。

概要

應用程式介面為:「『電腦作業系統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

庫與框架的API

API與協定

API與裝置介面

  • PC BIOS呼叫介面
  • ASPI for SCSI device interfacing

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...);

參考文獻

外部連結

參見