api(應用程式編程接口)

api(應用程式編程接口)

API(Application Programming Interface,應用程式接口)是一些預先定義的函式,或指軟體系統不同組成部分銜接的約定。目的是提供應用程式與開發人員基於某軟體或硬體得以訪問一組例程的能力,而又無需訪問原碼,或理解內部工作機制的細節。

基本介紹

  • 中文名:應用程式接口
  • 外文名:Application Programming Interface
  • 簡寫:API
  • 學科:軟體工程
  • 定義:一組定義、程式及協定的集合
  • 目的:提供系統服務
簡介,分類,Windows API,linux API,開放平台,API 聲明,常見問題,程式功能,API與GUI,

簡介

作業系統是用戶與計算機硬體系統之間的接口,用戶通過作業系統的幫助,可以快速、有效和安全、可靠地操縱計算機系統中的各類資源,以處理自己的程式。為使用戶能方便地使用作業系統,OS 又向用戶提供了如下兩類接口:
(1) 用戶接口:作業系統專門為用戶提供了“用戶與作業系統的接口” ,通常稱為用戶接口。該接口支持用戶與 OS 之間進行互動,即由用戶向 OS 請求提供特定的服務,而系統則把服務的結果返回給用戶。
(2) 程式接口:作業系統向編程人員提供了“程式與作業系統的接口” ,簡稱程式接口,又稱應用程式接口 API(Application Programming Interface)。 該接口是為程式設計師在編程時使用的,系統和應用程式通過這個接口,可在執行中訪問系統中的資源和取得 OS 的服務,它也是程式能取得作業系統服務的唯一途徑。大多數作業系統的程式接口是由一組系統調用(system call)組成,每一個系統調用都是一個能完成特定功能的子程式。
應用程式接口又稱為套用編程接口,是一組定義、程式及協定的集合,通過 API接口實現計算機軟體之間的相互通信。API 的一個主要功能是提供通用功能集。API同時也是一種中間件,為各種不同平台提供數據共享。程式設計的實踐中,編程接口的設計首先要使軟體系統的職責得到合理劃分。良好的接口設計可以降低系統各部分的相互依賴,提高組成單元的內聚性,降低組成單元間的耦合程度,從而提高系統的可維護性和可擴展性。

分類

Windows API

API函式包含在Windows系統目錄下的動態連線庫檔案中。Windows API是一套用來控制Windows的各個部件的外觀和行為的預先定義的Windows函式。用戶的每個動作都會引發一個或幾個函式的運行以告訴Windows發生了什麼。這在某種程度上很像Windows的天然代碼。而其他的語言只是提供一種能自動而且更容易的訪問API的方法。當你點擊窗體上的一個按鈕時,Windows會傳送一個訊息給窗體,VB獲取這個調用並經過分析後生成一個特定事件。
作業系統的用戶接口作業系統的用戶接口
更易理解來說:Windows系統除了協調應用程式的執行、記憶體的分配、系統資源的管理外,同時他也是一個很大的服務中心。調用這個服務中心的各種服務(每一種服務就是一個函式)可以幫助應用程式達到開啟視窗、描繪圖形和使用周邊設備等目的,由於這些函式服務的對象是應用程式,所以稱之為Application Programming Interface,簡稱API 函式。WIN32 API也就是MicrosoftWindows 32位平台的應用程式編程接口
凡是在 Windows工作環境底下執行的套用程式,都可以調用Windows API。

linux API

linux中,用戶編程接口API遵循了UNIX中最流行的套用編程界面標準---POSIX標準。POSIX標準是由IEEE和ISO/IEC共同開發的標準系統。該標準基於當時現有的UNIX實踐和經驗,描述了作業系統系統調用編程接口API,用於保證應用程式可以在源程式一級上在多種作業系統上移植運行。這些系統調用編程接口主要是通過C庫(LIBC)來實現的。

開放平台

基於網際網路的套用正變得越來越普及,在這個過程中,有更多的站點將自身的資源開放給開發者來調用。對外提供的API 調用使得站點之間的內容關聯性更強,同時這些開放的平台也為用戶、開發者和中小網站帶來了更大的價值。
開放是發展趨勢,越來越多的產品走向開放。網站不能靠限制用戶離開來留住用戶,開放的架構反而更增加了用戶的粘性。在Web 2.0的浪潮到來之前,開放的API 甚至原始碼主要體現在桌面套用上,越來越多的Web套用面向開發者開放了API。
具備分享、標準、去中心化、開放、模組化的Web 2.0站點,在為使用者帶來價值的同時,更希望通過開放的API 來讓站點提供的服務擁有更大的用戶群和服務訪問數量。
站點在推出基於開放API 標準的產品和服務後,無需花費力氣做大量的市場推廣,只要提供的服務或套用出色易用,其他站點就會主動將開放API 提供的服務整合到自己的套用之中。同時,這種整合API 帶來的服務套用,也會激發更多富有創意的套用產生。
為了對外提供統一的API 接口,需要對開發者開放資源調用API 的站點提供開放統一的API接口環境,來幫助使用者訪問站點的功能和資源。
當然,開放API 的站點為第三方的開發者提供良好的社區支持也是很有意義的,這有助於吸引更多的技術人員參與到開放的開發平台中,並開發出更為有趣的第三方套用。
視頻雲技術提供商CC視頻開放API接口,用戶可以在自己的網站後台輕鬆完成視頻的上傳、視頻播放控制操作,並可批量獲取視頻及平台信息。

API 聲明

正如在"什麼是API"中所說,API函式包含在位於系統目錄下的DLL檔案中。你可以自己輸入API函式的聲明,但VB提供了一種更簡單的方法,即使用API Text Viewer。 要想在你的工程中聲明API函式,只需運行API Text Viewer,打開Win32api.txt或MDB。如果你已經把它轉換成了資料庫的話,這樣可以加快速度。 使用預定義的常量和類型也是同樣的方法。 API除了有套用“應用程式接口”的意思外,還特指API的說明文檔,也稱為幫助文檔。

常見問題

假設你想在你的窗體模組中聲明一個函式,貼上然後運行,VB會告訴你:編譯錯誤...Declare 語句不允許作為類或對象模組中的Public(公共的) 成員。..看起來很糟糕,其實你需要做的只是在聲明前面添加一個Private(私有的)。不要忘了,可是這將使該函式只在該窗體模組可用。. 在有些情況下,你會得到"不明確的名稱"這樣的提示,這是因為函式、常量或其他的什麼東西共用了一個名稱。由於絕大多數的函式都進行了別名化,亦即意味著你可以通過Alias子句使用其它的而不是他們原有的名稱,你只需簡單地改變一下函式名稱而它仍然可以正常運行。

程式功能

遠程過程調用(RPC):通過作用在共享數據快取器上的過程(或任務)實現程式間的通信。
標準查詢語言(SQL):是標準的訪問數據的查詢語言,通過通用資料庫實現應用程式間的數據共享。
檔案傳輸:檔案傳輸通過傳送格式化檔案實現應用程式間數據共享。
信息交付:指松耦合或緊耦合應用程式間的小型格式化信息,通過程式間的直接通信實現數據共享。
當前套用於 API 的標準包括ANSI 標準SQL API。另外還有一些套用於其它類型的標準尚在制定之中。API 可以套用於所有計算機平台和作業系統。這些API 以不同的格式連線數據。每種數據格式要求以不同的數據命令和參數實現正確的數據通信,但同時也會產生不同類型的錯誤。因此,除了具備執行數據共享任務所需的知識以外,這些類型的API 還必須解決很多網路參數問題和可能的差錯條件,即每個應用程式都必須清楚自身是否有強大的性能支持程式間通信。相反由於這種API 只處理一種信息格式,所以該情形下的信息交付API 只提供較小的命令、網路參數以及差錯條件子集。正因為如此,交付API 方式大大降低了系統複雜性,所以當應用程式需要通過多個平台實現數據共享時,採用信息交付API 類型是比較理想的選擇。

API與GUI

API 接口屬於一種作業系統或程式接口GUI接口屬於一種圖形作業系統。兩者都屬於直接用戶接口。有時公司會將 API 作為其公共開放系統。也就是說,公司制定自己的系統接口標準,當需要執行系統整合、自定義和程式套用等操作時,公司所有成員都可以通過該接口標準調用原始碼,該接口標準被稱之為開放式API。

相關詞條

熱門詞條

聯絡我們