當你上Google搜尋 API,你會看到它解釋為 應用程式介面,也就是Application Programming Interface 的縮寫,扮演應用程式和應用程式之間的橋樑。
API 就像一個介面,可以幫助開發者節省精力,並很快的達到目的。舉個例子,假日出去玩總是玩到很累,口乾舌燥,讓人很想去飲料販賣機投瓶奶茶來解渴。好,現在你面前有一台飲料販賣機,接下來你會這麼做:
- 你想喝一瓶奶茶
- 你按了飲料機上的奶茶按鈕
- 你從取物口拿出奶茶
這其中就蘊含了 API 的概念,我們更進一步思考,剛剛例子中的奶茶就是「你想取得的資料」。而飲料機上的按鈕就是 API ,按下去飲料機就收到了你的需求,並將奶茶從取物口送出,你也就得到了你想要的資料了。
用上面飲料機例子的觀點來思考另外一個範例:「店面與倉庫」;通常,一間商店店面的「商品擺設、配置」,和後面倉庫的擺設配置會是不一樣的,今天如果有一個負責把貨物從倉庫擺放到店面的員工,他必須要知道擺放的規則,可能是要配合商店的行銷企劃,可能是要擺的整整齊齊、一目了然。
在這個「店面與倉庫」的例子裡,商品就可以想成是數據,而倉庫就好比是資料庫,店面則好比是我們平常使用的網頁或是APP,而負責把商品從倉庫擺放到店面的員工就扮演著 API 的角色,依照著某種規則、協定(行銷企劃、商品的擺放規則)在運作著,而我們不必知道他是怎麼運作的。
如果一直從字面上的介面去思考,AP「I」 (Interface) ,其實有點難搞懂它的概念。簡單來說,它就像是可以讓你用的一個函式庫。呼叫你想要使用的函式,並給予相對應的參數,函式便回傳給你結果,流程大概是像這樣。
(函式的概念,會在之後的 Python筆記中介紹到!)
基本上,不管做什麼事情、寫什麼樣的程式都會用到 API 這個概念,除非你從頭開始編寫每一行程式碼,否則你一定會和外面的一些組件進行互動,而幫助你能夠和這些組件互動的接口就是 API。
即使你完全是從頭開始寫你的程式,一個漂亮的應用程式也會有供內部使用的 API 來幫助組織你的程式碼,除了方便維護程式碼,也能讓特定的功能重複使用性提高,增加效率。最重要的是,使用 API 的過程時,你不需要知道其內部程式運作的邏輯或演算法,你只要告訴 API 它需要知道的事,它就會把你想知道的結果帶來給你。
如果覺得我的文章有幫助到你,可以考慮讚賞~我會非常感激的!