與網際網路相連的端系統提供了一個應用程式介面(英語: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又分為(Windows、Linux、Unix等系統的)系統級API,及非作業系統級的自訂API。作為一種有效的程式碼封裝模式,微軟Windows的API開發模式已經為許多商業應用開發的公司所借鑑,並開發出某些商業應用系統的API函式予以發布,方便第三方進行功能擴充。如Google、蘋果電腦公司,以及諾基亞等手機開發的API等等。

~ wiki

arrow
arrow
    全站熱搜

    repentor 發表在 痞客邦 留言(0) 人氣()