什麼是 API(應用程式設計介面)?
API(應用程式設計介面)是一種軟體介面,允許兩個不相關的應用程式相互通訊,它充當橋樑,從一個程式取得請求或訊息後,將其傳遞給另一個程式、翻譯訊息,及根據 API 程式設定的協議來執行指定動作。API 幾乎存在於我們數位生活的所有層面,是現代外掛、數位介面和軟體通訊世界的隱藏支柱,可將所有東西連接起來,使各個軟體系統能夠和諧地一起運作。
API 對業務使用者來說大多是不可見的,但它為軟體程式開闢了廣泛的可能性,能以受控的方式開放一小部分軟體功能和資料來投入工作。這允許開發人員直接存取所需的程式、硬體、資料或應用程式,而無需存取整個系統的程式碼。
API 使用一系列例行工作、工具和協議來指定不同的軟體組件應該如何協同運作。API 有兩種類型:私密和公開;公開 API 使用面向消費者的應用程式,為企業提供以各種應用程式、行動設備、瀏覽器與其客戶交流的機會。私密 API 則是在後台工作,用以簡化操作及創造工具,以便更好地為客戶、員工和其他利益相關者提供服務。

什麼時候在業務中使用 API?
API 可以在軟體開發場景的任何時候使用,例如當兩個不同系統需要相互存取時,或者當需要將外部軟體連接到現有系統時。API 是所有組織在使用任何現代化軟體組合時的重要工具。
例如,公司網站可使用 API 在「關於我們」頁面上嵌入 Google 地圖,以便連接該頁面和 Google 地圖本身。有家公司在其網站上嵌入了 Google 地圖,以幫助讀者尋找最近的分支機構。這些都是公司使用 Google 的公開 API 而做到的功能。
公司網站上的 API 本質上是呼叫 Google 地圖的 API 來為他們提供資訊和功能,當然,這對互動雙方都有好處,一方面公司網站增強了功能,另一方面 Google 地圖可以透過收費將這種類型的資料共享變現,或建立品牌地圖以加強他們的行銷工作。
任何交易型或服務型業務都能使用 API 從多個介面獲取行銷優勢,例如,您可以透過 API 連接一系列常用的應用程式,像是 Uber、Yelp、Google 地圖和 Dropbox,這份可透過 API 存取的應用程式和軟體程式清單是無窮無盡的。另一個常見例子是,API 允許客戶透過他們的 Facebook 或 Google 帳號來登入網站。此外,每次您要在線上「分享」一篇文章時,您都會點選一個圖示,該圖示允許您透過該媒體分享連結,例如 Twitter、Gmail 或 Facebook,所有這些服務都是由 API 啟用。
從更大的意義上說,API 使一些企業更容易發展茁壯。不同於企業自行開發本身的支付、通訊、資料整合、或任何其他操作的軟體,API 意味著他們可以在內部系統中完美執行外部第三方軟體。
來看一個大型範例,白宮已經發佈了數千個 API,讓公眾可以存取有關政府的資訊,從財政到醫療保健、再到農業,公眾可以順利找到投票站、食品安全或其他有益資訊,從而讓大家都騰出寶貴的時間。
為什麼要使用 API?
API 允許組織將自己的軟體和資料使用範圍擴展到他們不擁有的應用程式和資料領域,這帶來了一系列好處,例如增加功能、節省成本、技術創新和簡化營運:
- 為客戶增加功能:企業可以讓客戶存取全新的資料集和功能,藉此提供更好的客戶體驗。例如,當您將 Google 地圖嵌入網站時,您可以讓使用者不必再點選另一個網站或應用程式,從而節省他們的時間,增加他們成為回頭客的可能性。
- 省錢:公司可以使用 API 將應用程式和軟體程式無縫整合在一起,而不是僱用昂貴的開發人員來創造自己的軟體。由於公司可以利用現成的軟體,而不是自行開發,因此能大幅節省研發資金。
- 節省時間:軟體開發沒有延遲,因為 API 通常已經編寫好,只需要與每一端進行整合即可。
- 更好地溝通:當在業務中添加新軟體時,API 會將所有內容整合在一起,讓資訊順暢流通。
- 無縫連結:幾乎所有智慧型設備或應用程式現在都連接到網際網路,從冰箱到印表機,現代科技環境就是由物品構成的網路。API 允許這些智慧型設備彼此連接,因此您可以從辦公桌啟動列印、甚至是訂購咖啡。
- 擴大行銷範圍:來自 Facebook、Twitter、Instagram、Pinterest 和其他社交媒體平台的 API 允許使用者單鍵分享部落格、資訊或優惠。
- 鼓勵創新:藉助 API 提供的安全性和功能,開發人員的創新只受到他們想像力的限制。
- 簡化營運:例如,有一家企業正在開發一款旅行應用程式,API 可讓客戶在應用程式內完成從機票到共乘車輛、再到訂房等一系列操作,而無需離開介面或登入其他地方。有了 API,企業就能將預訂、支付和履行等功能元件連結起來。
- 加速創新:更快完成創新,就能減少變革阻礙。現成的 API 意味著減少開發時間和更快獲得成果,使開發人員可以快速輕鬆地調適新的軟體或程式。
許多 API 都是免費的,公司或開發人員可以免費獲贈軟體。這通常是因為有越多人使用他們的程式,就越能擴展軟體的接觸範圍和進入市場的實力,為他們帶來更多使用者。

開發和整合 API 的挑戰
老化或碎片化的電腦系統
組織在不斷變化和成長中,如此一來,他們會發展出新舊混合的產品和服務,使環境變得龐大而分散。眾多系統以有機的、通常不受控制的方式成長,導致電腦系統、技術、應用程式和臨時添加的流程等組合變得十分複雜。而隨著時間推移,這些系統會變得效率低落,一些軟體和硬體系統也逐漸過時。這種情形通常意味著組織無法輕鬆地將其舊技術與新軟體相結合,他們的系統要麼無法使用,要麼變得孤立。使整體系統變得脆弱、複雜,而且很容易故障出錯。
現代 API 通常是這個問題的救星。在大多數情況下,即使 API 沒有為應用程式構建自動連接器,開發人員也可以自己構建,以便與他們的老舊系統連接。老舊系統的另一個問題是,隨著軟體老化和不再受到支援,它們會帶來較高的安全風險。同樣,您可以使用 API 功能來補強和保護這些系統,例如以權杖為基礎的身份驗證和授權。
缺乏 API 策略和規劃
另一個挑戰是,使用者通常在沒有妥善規劃的情況下使用 API。與任何策略計畫一樣,API 的成功取決於其背後的計畫,您需要規劃從建立、開發、測試、部署、監控到停用的整個 API 生命週期。當然,如果您只使用一兩個 API,這不是什麼大問題。但通常,大多數公司會在其內部和外部系統中使用數十、數百、甚至數千個 API,將這個數量乘以您必須為單一 API 管理的所有不同階段,您很快就會看到它所造成的後勤噩夢。
使用者應該從每個 API 的全盤規劃開始,就像您為企業制定計畫一樣,以充分發揮該程式的使用效益。使用者還應該尋找能夠支援 API 整個生命週期的單一平台,這對於任何 API 程式的成功都至關重要。組裝和推廣得最好的 API(實際上只能透過完整生命週期 API 平台來實現)才是最成功的 API。
API 的未來
這些小型軟體媒介為任何規模的公司提供巨大的轉型潛力,程式開發人員幾乎能夠不受限地連接不同的應用程式和系統,組成一個具有凝聚力、運作穩定的軟體解決方案。由於可以使用各個元件來建立軟體,而不是從頭開始構建,意味著昂貴且耗時的專業軟體開發可能已成為過去式。
API 的未來發展要靠人工智慧 (AI) 和機器學習,AI 正在開發自主軟體,它會開放自己的介面並將自身註冊到 API 資料庫,然後在那裡尋找相關的 API 進行安裝,而無需任何人為干預。
API 鼓勵創新和自由
API 標準行為仍在建立當中,但總體而言,API 是促進企業創新的優秀軟體媒介。API 未來將能發揮更大的作用,協助應用程式開發人員創造可與一系列其他軟體協同運作的程式。自動化的 API 可能並不遙遠,它可以讓系統更快、更輕鬆地一起運作。