一種新興的JSON Remote Procedure Call (RPC)規範REST API寫多了,不是發展出一套龐大的路由切換器就是龐大的參數解析器
路由切換器
/person/id
/friend/id
/person/id/friend
...
參數解析器
persion_id=id
friend_id=id
...
如果系統簡單還好,但當系統一變多或變大,一定會有以下的問題:
- API根目錄(ROOT)數量爆增,後端專案管理是個問題
- API一旦異動(常見型別不同或欄位異動),前端必須等待後端更新,徒增開發效率不彰
使用GraphQL就能飛天?
前面說到,GraphQL嚴格來說僅止於制定規範,實作也只有提供簡易的Server讓使用者【嘗鮮】,實戰使用GraphQL往往需要搭配三方工具:Apollo或Relay,看來也是一條漫漫長路。或許我們直接取用GraphQL的概念進行實作會更佳合宜。
能不能再簡單一點?
GraphQL到目前為止還是很新的技術,目前已知的資訊還不算成熟,如果自己採用類似JSON ORM的概念是否會更加簡單?以上是目前對GraphQL一些看法,提供各位參考。謝謝各位觀看!
See also
- Gatsby JS: Build PWA Blog With GraphQL And React + WordPress
- GraphQL 入門: 簡介 X 範例 X 優缺點
- GraphQL 前端: Apollo Client 攜手 React 擁抱 GraphQL
- 顛覆傳統REST網頁設計架構,GraphQL讓前後端API說同樣的語言
- Sequelize ORM
沒有留言:
張貼留言