2020/01/31

GraphQL使用評估

在學習React的過程有接觸到GraphQL這個新名詞,簡單來說GraphQL是:
一種新興的JSON Remote Procedure Call (RPC)規範
REST API寫多了,不是發展出一套龐大的路由切換器就是龐大的參數解析器

路由切換器
/person/id
/friend/id
/person/id/friend
...

參數解析器
persion_id=id
friend_id=id
...

如果系統簡單還好,但當系統一變多或變大,一定會有以下的問題:
  • API根目錄(ROOT)數量爆增,後端專案管理是個問題
  • API一旦異動(常見型別不同或欄位異動),前端必須等待後端更新,徒增開發效率不彰
GraphQL制定了前後端規範,只要後端Schema制定好,前端即有極大自由,減少工程師橫向溝通的時間就能加快開發速度。

使用GraphQL就能飛天?

前面說到,GraphQL嚴格來說僅止於制定規範,實作也只有提供簡易的Server讓使用者【嘗鮮】,實戰使用GraphQL往往需要搭配三方工具:Apollo或Relay,看來也是一條漫漫長路。

或許我們直接取用GraphQL的概念進行實作會更佳合宜。

能不能再簡單一點?

GraphQL到目前為止還是很新的技術,目前已知的資訊還不算成熟,如果自己採用類似JSON ORM的概念是否會更加簡單?

以上是目前對GraphQL一些看法,提供各位參考。謝謝各位觀看!

See also





沒有留言:

張貼留言