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