應用程序編程接口 (API) 充當允許應用程序交換信息的連接點。例如,餐廳的網站可能包含第三方交付應用程序需要向其用戶展示的信息(菜單選項、定價等)。配送應用程序可以通過餐廳網站的 API 請求該信息,該 API 將處理該請求并返回可用數據。
在軟件開發中,API 可以允許開發人員將非本地功能集成到他們的軟件應用程序中。例如,開發人員可以參考 API 并將他們的軟件連接到為他們處理通信功能的云通信平臺,而不是從頭開始創建通信解決方案以允許用戶發送消息。
可以由給定 API 交換的信息由主機和請求者通過綜合文檔進行管理和理解。這種相互的“合同”允許雙方保護敏感數據,因為 API 請求將打包的數據不會超過 API 主機返回所需結果所需的數據。同樣,API 的主機發送的數據永遠不會超過滿足 API 請求所需的數據。這樣,兩個應用程序都不會完全公開自己或用戶的數據。
什么是 API?
API 類型
根據 API 的用途或公司的需求,將在給定實例中使用三種不同類型的 API 之一。
- 公共 API:公共 API 是可供公眾訪問和使用的 API。它們完全暴露給任何希望與主機交互的用戶訪問。
- 合作伙伴 API:合作伙伴 API 類似于公共 API,它們由第三方托管,主要區別在于 API 訪問權限僅限于客戶或業務合作伙伴。
- 私有 API:私有或內部 API 存在于公司的內部基礎架構中,并且只能由其他內部用戶訪問。這些類型的 API 允許公司通過允許 IT 基礎架構中的不同軟件交換信息來順利執行內部業務功能。
使用 API 的好處
- 減少工作量:開發人員依靠第三方 API 為其軟件應用程序提供信息或功能。開發人員無需從頭開始編程此功能,而是可以簡單地與為其提供信息的 API 建立信息交換。這減少了工作量,并允許開發人員專注于他們正在從事的項目的其他方面。
- 更順暢的內部操作:私有 API 允許公司連接內部不同的軟件系統,從而允許這些系統之間直接有效地交換信息。這改善了公司內部的協作,從而提高了生產力。
- 產品創新:軟件世界瞬息萬變,企業必須創新才能跟上趨勢和競爭。當軟件產品領域出現新的“必備”功能時,開發人員可以依靠 API 將相關功能快速整合到他們的應用程序中。這使公司能夠保持競爭力,而無需花費時間解決已經解決的問題。
- 改進的用戶體驗: API 的數據共享功能有許多用例,包括基于數據收集個性化和改進用戶體驗的能力。例如,一家分析其應用程序通過 API 公開的用戶行為數據的公司可以發現客戶旅程中的痛點并努力解決這些痛點。
- 聚焦營銷:與公司可以通過分析 API 暴露的行為數據來改善用戶體驗的方式大致相同,營銷工作也受益于相同的數據,并允許公司將廣告定位到特定受眾。通過根據行為和人口統計數據為用戶提供內容,營銷人員獲得了提高參與度的優勢。
使用 API 的影響
軟件開發公司可能會因依賴 API 而受到負面影響:
- 安全風險:依賴外部 API 的公司本身就會面臨安全風險。當與第三方 API 交換敏感數據時,公司實質上是將其安全策略的一部分委托給該第三方。雖然數據交換通常由主機和請求者共同管理和保護,但任何 API 漏洞都會為可能暴露敏感用戶或公司數據的數據泄露打開大門。公司可以通過使用軟件組合分析工具等解決方案來降低這些風險,這些工具允許開發人員監控和管理其應用程序使用的第三方 API。
- 過度依賴:過度依賴外部 API 來為公司的軟件產品提供功能會導致許多問題。除了增強的安全風險之外,還可能出現性能問題,使開發人員別無選擇,只能等待 API 的主機解決問題。當功能被原生編程到應用程序中時,其開發團隊可以通過調整代碼來解決問題,從而獲得更大的控制權。當應用程序的大部分功能依賴于 API 時,開發人員就會失去這種控制。