什麼是?

什麼是API?

什麼是API?
API 指 Application Programming Interface

中文為 應用程式界面
Wiki 上也是這樣說明的...

你看了wiki 之後瞭解了嗎?
非常抱歉, 身為弱弱工程師的我,
看了wiki 的說明也不是很懂他想說明什麼 lol
對一個不懂程式,非工程師的人來說我相信你只是更加一頭霧水而已!!

本來就不懂API這個抽象的名詞的情況下, 又去看了一個更加抽象的說明
就好像用 抽象解釋畢卡索, 用畢卡索說明抽象一樣(笑)


索引:前言所以說什麼是API?進階說明API

 

前言

你真的懂 Wiki 上有關 API 的內容嗎?
以現在的產業來講, 非常容易接觸到資訊內容
或許你會常常聽到工程師說 API 這個專業名詞

但... “他“到底是什麼?
不論是上網查 wiki, 或是羞恥的問工程師
看著工程師不屑、不耐煩的回答你...
用著 Wiki 上的那一套解答你,

應用程式介面
應用程式接口

是一個介面, 一個容易使用的東西?
wtf ??!! 所以他到底是什麼
工程師只會覺得你笨、你聽不懂...

有時候說明的太正確或太完整
反而沒辦法傳遞資訊

在說明的時候, 我們應該停止讓抽象的東西更加抽象
不要用一個難以想像的東西去說明一個無法想像的東西


所以說什麼是API?

能幫工程師簡省工夫的一個服務
很快就能取得,達到目地的功能

舉例來說
API就像是自動販賣機的按鈕

就像是自動販賣機的按鈕/面版
可口可樂公司的商品中有各類可樂飲料

1.今天你想取得一瓶原味可樂
2.只要單純的按下面版上原味可樂的 按鈕
3.接著你就可以在取物口拿到一瓶可樂

上面第二個動作中的面版/按鈕, 就是所謂的 API 了
透過這個面版, 你可以拿到可口可樂公司的飲料

過程大概就是:
想要一瓶可樂(想要的資料)
按下按鈕(送出資料需求)
拿到飲料(取得資料)

專業一點的解釋圖
api資料交換過程
(API的資料交換過程)
所以API才被解釋為一個介面(一個介於中間的東西)
在上面中間的部份 API
把他想像成 自動販賣機的面版 大概就是這樣的感覺...

進階說明API

可樂公司也有生產櫻桃口味的可樂, 但是面版上 沒有按鈕
API 沒有、不開放 = 面版上沒有按鈕

你明明確定對方公司(e.g. Google)有這樣的資料, 但是這份資料並沒有開放的API
所以也不要為難工程師了 lol

 

可樂販賣機大家都可以使用
開放API (open API)
當然也有不開放的 API, 如一些需要付費、註冊使用的 API

就上面的例子來講 透過自動販賣機 買可樂還是需要付錢的(付出代價)
Google MAP API 來說, 需要註冊Google 帳號, 每月有API 的資料量限制等...
如果想要把 Google MAP 的資料用在商業用途可能就要考慮一下了
API 可能會在大量使用的情況下, 突然失去功能(拿不到資料)

12 Comments

發表迴響