首頁  >  文章  >  運維  >  api是什麼

api是什麼

藏色散人
藏色散人原創
2018-12-18 10:31:23210671瀏覽

api全名為“Application Programming Interface”,中文意思是“應用程式介面”,是一些預先定義的函數,目的是提供應用程式與開發人員基於某軟體或硬體得以存取一組例程的能力,而又無需存取原始碼,或理解內部工作機制的細節。

api是什麼

本教學操作環境:windows7系統、Dell G3電腦。

API(Application Programming Interface,應用程式介面)是一些預先定義的函數,目的是提供應用程式與開發人員基於某軟體或硬體得以存取一組例程的能力,而又無需訪問原始碼,或理解內部工作機制的細節

應用程式介面

#想像餐廳選單中的API。菜單提供您可以訂購的菜餚列表,以及每道菜的描述。當您指定所需的菜單項目時,餐廳的廚房可以完成工作並為您提供一些成品菜餚。你不確切知道餐廳如何準備食物,你真的不需要。

類似地,API列出了開發人員可以使用的一系列操作,以及他們所做的事情的描述。開發人員不一定需要知道如何建立作業系統並顯示「另存為」對話框。他們只需要知道它可以在他們的應用程式中使用。

這不是一個完美的比喻,因為開發人員可能必須提供他們自己的數據到API來獲得結果,所以也許它更像是一個高檔餐廳,你可以提供廚房將使用的一些自己的成分。

但它的準確性非常準確。 API允許開發人員透過利用平台的實作來完成細節工作,從而節省時間。這有助於減少開發人員需要創建的程式碼量,也有助於在同一平台的應用程式之間創建更高的一致性。 API可以控制對硬體和軟體資源的存取。

API使開發人員的生活更輕鬆

#假設您想為iPhone開發應用程式。 Apple的iOS作業系統提供了大量的API - 正如其他作業系統所做的那樣 - 讓您更輕鬆。

例如,如果要嵌入網頁瀏覽器以顯示一個或多個網頁,則無需為您的應用程式從頭開始編寫自己的網頁瀏覽器。您可以使用WKWebView API在應用程式中嵌入WebKit(Safari)瀏覽器物件。

如果您想從iPhone的相機中捕捉照片或視頻,則無需編寫自己的相機介面。您可以使用相機API在您的應用程式中嵌入iPhone的內建相機。如果不存在API以使這一點變得簡單,那麼應用程式開發人員必須創建自己的相機軟體並解釋相機硬體的輸入。但Apple的作業系統開發人員已經完成了所有這些艱苦的工作,因此開發人員可以使用相機API嵌入相機,然後繼續建立他們的應用程式。而且,當Apple改進相機API時,所有依賴它的應用程式都會自動利用這項改進。

這適用於每個平台。例如,您想在Windows上建立對話方塊嗎?有一個API。想在Android上支援指紋認證嗎?還有一個API,所以你不必測試每個不同的Android製造商的指紋感應器。開發人員不必一遍又一遍地重新發明輪子。

API控制對資源的存取

API也用於控制對應用程式未必具有使用權限的硬體設備和軟體功能的訪問。這就是API經常在安全性方面發揮重要作用的原因。

例如,如果您曾造訪過某個網站並在瀏覽器中看到網站要求查看您的確切位置的訊息,則該網站會嘗試在您的網路瀏覽器中使用地理定位API。 Web瀏覽器公開這樣的API,使Web開發人員可以輕鬆訪問您的位置 - 他們可以詢問“您在哪裡?”,瀏覽器可以輕鬆訪問GPS或附近的Wi-Fi網絡以查找您的物理位置。

api是什麼

但是,瀏覽器也會透過API公開此訊息,因為它可以控制對它的存取。當網站想要訪問您的確切物理位置時,他們可以透過位置API獲取它的唯一方法。並且,當網站嘗試使用它時,您 - 使用者 - 可以選擇允許或拒絕此請求。存取GPS感測器等硬體資源的唯一方法是透過API,因此瀏覽器可以控制對硬體的存取並限制應用程式可以執行的操作。

同樣的原則也用於現代行動作業系統,如iOS和Android,其中行動應用程式具有可以透過控制對API的存取來實施的權限。例如,如果開發人員嘗試透過相機API存取相機,則可以拒絕權限請求,並且套用無法存取裝置的相機。

使用權限的檔案系統(如在Windows,Mac和Linux上一樣)具有檔案系統API強制執行的權限。典型應用程式無法直接存取原始實體硬碟。相反,應用程式必須透過API存取檔案。

API用於服務之間的通訊

API也用於各種其他原因。例如,如果您曾在網站上看過嵌入的Google地圖對象,則該網站會使用Google Maps API嵌入該地圖。 Google向這些網路開發人員公開了這樣的API,然後他們可以使用API​​在他們的網站上填充複雜的物件。如果這樣的API不存在,開發人員可能必須創建自己的地圖並提供自己的地圖數據,只是為了在網站上放置一個小的互動式地圖。

而且,由於它是一個API,谷歌可以控制在第三方網站上訪問谷歌地圖,確保他們以一致的方式使用它,而不是試圖嵌入一個顯示谷歌地圖網站的框架。

這適用於許多不同的線上服務。有一些API可用於從Google翻譯中請求文字翻譯,或在網站上嵌入來自Twitter的Facebook評論或推文。

這個OAuth的標準還定義了一些API,讓您可以登入網站與其他服務,例如,使用您的Facebook,谷歌,或Twitter帳戶登入一個新的網站,而不是只是該網站創建一個新的用戶帳戶。 API是標準合約,用於定義開發人員如何與服務進行通信,以及開發人員應該收到的輸出類型。

除非您是開發人員,否則您不需要知道API是什麼。但是,如果您看到軟體平台或服務為各種硬體或服務添加了新API,那麼開發人員應該更容易利用這些功能。

以上是api是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:什麼是cpu下一篇:什麼是cpu