創屋ぷれす

GraphQL

GraphQLは APIのクエリ言語です。

Facebookが2015年から公開しており、現在はGraphQL Foundationが開発元になっています。

同じような括りのものと並べみます。
・REST (REpresentational State Transfer)
・RPC (Remote Procedure Call)
・GraphSQL ★これ

なぜグラフという用語が入っているのか??と気になるところですが以下に説明があります。

>We don’t think of data in terms of resource URLs, secondary keys, or join tables; we think about it in terms of a graph of objects and the models we ultimately use in our apps like NSObjects or JSON.
引用元: https://engineering.fb.com/core-data/graphql-a-data-query-language/


自分なりに上記を理解すると、アプリケーションのデータを考えるとき、REST方式では抽象化が不十分で、より抽象化してグラフだと考えた方がしっくりくる、という感じかなと思います。

特徴
・エントリーポイントが1つ
・1リクエストで多くのリソースを取得できる
・型システムがある
・リクエストクエリが取得するデータと同じ形式

まだ若いプロジェクトなのですぐに採用はできないかな、という印象ですが、Facebook発信のものはReactしかり、既存のものをドラスティックかつ現実的に置き換えていきそうな勢いがあるなと感じます。

Comments are closed.