iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 7
2
Modern Web

Node JS-Back end見聞錄系列 第 7

Node.js-Backend見聞錄(06):關於後端觀念(二)-什麼是API?

Node.js-Backend見聞錄(06):關於後端觀念(二)-什麼是API?

前言

在開始介紹什麼是API前,我們需要先釐清為什麼前端需要跟後端拿資料。而這又牽扯到我們所接到的專案是需要做「靜態頁面」還是「動態頁面」。

什麼是靜態頁面?

所謂的「靜態頁面」,指的就是web頁面上的內容是固定的,它不會隨著某筆資料改變,而去更改自身的內容。這樣會造成若要改變資料,網站的管理者就必須要手動去更新頁面上的資料。

什麼是動態頁面?

比起靜態頁面,「動態頁面」就是web頁面上的內容會是變動的,會隨著某筆資料的改變,而去更改自身的內容。這會使網站的管理者不需要因為手動的方式,去更新頁面頁面上的資料。

試著想像一下,如果youtube上面的影片,今天的流行影片是這樣。但明天的流行影片還是上述那些。那會不會讓許多瀏覽該網站的使用者覺得乏味呢?

但要如何讓頁面上的資料能隨著資料的改變而做變化呢?這時,我們就必須要依靠API來幫我們達成。

什麼是API?

API指的是應用程式介面(Application Programming Interface)。其中,最重要的是介面這兩個字。我們可以想像成API是一個端口,它能讓不同的設備透過這個端口來進行資料傳輸。

來舉些生活周遭的例子,情境設為「要去餐廳用餐」,在整個用餐的過程中,我們在關於後端觀念(一)-什麼是client-server架構?中所提到的client-server架構的角度來看待這件事情。

  1. 先想像成你是一位客人,服務生來詢問你要點什麼餐。
  2. 待點餐完成後,服務生將菜單送到廚房。
  3. 廚房收到菜單的點餐內容後,開始做餐點。
  4. 廚房將客人所點的餐點完成。
  5. 餐點完成後,廚房請服務生將餐點送給客人。
  6. 客人收到服務生所送來的餐點後,開始用餐。

接下來,我們再舉個實際使用API的例子,情境設為「用chrome的瀏覽器,瀏覽google的頁面」,這邊我們同樣使用client-server架構的角度來說明。

  1. 使用者透過chrome瀏覽器輸入google.com的URL,並按enter送出。
  2. 等待request從client端傳到server端。
  3. 若google server端有這個API端口,開始處理這個request。
  4. google server將資料訊息傳到response裡面。
  5. 等待response從server端傳到client端。
  6. Client端接收到response,並將google的畫面呈現給使用者看。

我們除了可以藉由API來提取資料外,也可以透過它來將我們的資料送至server端。比如:Facebook的登入、找飯店trivago或是像amazon的購物網站...等。

小結

對web的後端工程師來說,筆者覺得最重要的就是處理好API這件事情。在開發一個動態頁面的專案時,我們就必須要開API來讓前端的工程師夥伴來做銜接。如果我們尚未開發好API的話,或API出了什麼問題,都會導致整個專案的進度緩慢,嚴重時甚至會停擺。所以,如何處理好API對後端工程師來說,是一大課題也是首頁目標。


上一篇
Node.js-Backend見聞錄(05):關於後端觀念(一)-什麼是client-server架構?
下一篇
Node.js-Backend見聞錄(07):關於後端觀念(三)-什麼是Restful-API?
系列文
Node JS-Back end見聞錄31

尚未有邦友留言

立即登入留言