API,全名是 Application Programming Interface,中文解釋為應用編程接口,也可被視為連接軟體系統數個功能的約定橋樑。
API設計的縝密度對軟體開發過程來說極為重要,設計良好的AP不僅能減少軟體系統的相互依賴,也可提高各單元的內聚性(cohesiveness)來達成提高系統維護性(maintainability)和延展性(extensibility)的目的。
為了降低客戶端和伺服器在建立連接時所消耗的時間,在進行API合併的同時,最好可通過一個API就能獲取全部的訊息,也可避免掉傳輸無用的數據浪費流量。
為了開發出簡單易懂的API,需要遵循以下幾點:
- 定義接口規範
- 確認請求參數、參數類型
- 確定返回數據類型、數據格式、參數
- 接口文檔 (API documents)
如上圖所示,這是一個測試API的例子,顯示調用資料交易成功的結果。
請求參數為OrderNo & MemberId,類型皆為String。
返回數據類型皆為String,數據格式為JSON,返回參數為OrderNo & MemberId。
API規格書範例寫得越詳細,對開發API者們來說,也會減少許多花費開發時間成本。因為,API規格及流程越清楚,開發者們能夠更有效率地銜接伺服器端資料且輕鬆地調用此端的功能。
Frankie的分享也白話地解釋了API的作用以及原理。
API 優點
- 瀏覽器也可被當作客戶端使用,提高客戶端的便利性和簡化服務器提高可伸縮性,以及客戶端分組優化的效果
- 可使用cache來達成高效的回應速度,減少連接過程的網路延遲
- 介面與資料分離,簡化系統複雜性。
- 能應付不同領域業務的功能邏輯,提高系統的可延展性。
- 統一接口,讓客戶端及伺服器端的通信方法統一,能鼓勵單獨優化改善組件和提升交互的可見性。