你覺得什麼是 API?

我是這樣想的。

我認為最好的解釋

我看過各種 API 的解釋,有人說是「雙方溝通的媒介」,有人說是「一個操作的介面」,有人說是「函式庫」等等,而我自己覺得認為最好理解的一句話是 「程式與程式之間溝通的介面」

這個想法是我在 Javascript & jQuery: Interactive Front-End Web Development 裡學到的,這本書裡面解釋 API 的方式很簡單。

試著想想看你在瀏覽網頁的時候,是不是充滿了各種元素可以讓你去跟他互動?例如說「滑鼠移過去的時候有東西有反應」或是「點下 的時候就會彈一個東西出來」。

這個叫做「使用者介面(User interface design,UI)」,你必須透過這個介面才能跟網頁做互動,如果沒有這個介面,就什麼都做不了(除非你直接寫程式碼來操作)。

而 API 也是同樣的道理,只是它是 「工程師設計給工程師操作的『介面』」

兩者不同的地方在於,UI 是透過「硬體設備(鍵盤、滑鼠)」來跟介面做溝通,API 是則透過「程式碼」來跟介面做溝通,其實說穿了都是在使用「被設計好的一個介面」,只是使用的方法不同而已。

舉例來說,工程師設計了一個介面(例如 ),讓使用者在滑鼠點下去的時候會彈出東西來,對應到 API 的話就會是後端工程師設計了一個介面(例如一個 function),讓前端工程師用程式碼來 call 這個 function 的時候可以拿到資料,或是執行某個功能。

然而要怎麼「設計」跟「使用」一個介面,其實都是雙方得互相達成共識的。如果工程師不設計一個 來讓你可以點它,你就沒辦法做這件事,同理,如果工程師不設計一個 function,我就沒辦法 call 這個 function 來做某件事。

所以為什麼要有 UI 或 API?

為了讓雙方能夠有一個溝通的管道,也就是「介面」

其實只是這樣簡單的道理而已。

for 迴圈的延伸 for...in 與 for...of 串接 Twitch 的 API
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×