來聊個簡單的議題? 『為什麼要學 GraphQL?』
部落格好讀版: https://bit.ly/why-is-graphql
身為網站工程師,您不能不知道什麼是 GraphQL,這是一個前端跟後端溝通的 API
Query 語法,大幅改善了前後端的合作模式,這篇會跟大家介紹為什麼麼要學 GraphQL,
以及整理出三大 GraphQL 優勢,讓大家了解跟傳統 Restful API 有什麼不同。當然不是
叫開發者捨棄 Restful API,而是根據專案的不同,來決定不同的技術 Stack。像是服務
跟服務之前您說要用 GraphQL,肯定被打槍,而是要用更輕量的 Restful API 或 GRPC。
好了,底下來說明三點 GraphQL 的優勢。
影片: https://www.youtube.com/watch?v=00NKSvAraLQ
01:36 一次連線拿回前端所需資料
04:07 根據不同畫面拿不同欄位資料
06:06 即時 API 文件
1. 一次連線拿回前端所需資料
GraphQL 可以直接將 Query 語法寫在一起送到後端,後端全部處理完成後再一次回給前
端,大幅降低 connection 次數。
2. 根據不同畫面拿不同欄位資料
在 Restful API 世界裡,後端會一次回傳所有資料,不會管前端需不需要這欄位,也就
是前端沒有權力決定該拿什麼欄位,這樣會造成很多不必要的網路傳輸。Restful API
也可以根據不同畫面回不同的欄位資訊,卻造成後端很大的負擔。這時候用 GraphQL 解
決了此問題,只要在 Query 語法內定義好要拿的資料即可。
3. 即時 API 文件
大家應該都知道文件沒有一天是即時更新的,寫 Restful API 要求後端也補上文件,簡
直是難上加難,專案在趕的時候,誰還在管文件有沒有到最新,這邊就要推薦 GraphQL
了,因為只要程式碼一動,開發者透過 Client 工具就可以即時知道現在的 API 文件。