今日の当番:てん
最近会社の大先輩におすすめされてGraphQLの本を買いました。
初めてのオライリー!
ということで、GraphQLについて学んだ軌跡を残していきたいと思います。
GraphQLとは
GraphQLってなんやねん。
GraphQLは、APIのための問い合わせ言語です。
RESTと比較されることが多いように思います。
通信プロトコルは指定されていませんが、一般的にはHTTPが使われているそうです。
GraphQLを使うメリット
- GraphQLを使うと、1回のHTTPリクエストで複数の異なる種類のデータを受け取ることが可能に
- RESTなどのように
- レスポンスのデータを使ってさらにリクエストを送る、といったことを何往復も繰り返す必要がなくなる
- 過剰なデータ取得を抑えられる
- クライアントの変更に伴う新たなエンドポイント作成の必要がなくなる(GraphQLは基本的に単一のエンドポイント )
GraphQLの誤解
GraphQLは、宣言型データ取得言語であると誤解されがちですがそれは違います。
これはつまり、GraphQLの開発者は、どのような形でデータを渡すかを重要視して、どうやってそれらのデータを取得するかを蔑ろにしているという意味ですが、本当に違います。
GraphQLのクライアント
開発チームの作業効率向上&アプリケーションのパフォーマンス向上を目的に作られた、ネットワークのリクエスト、データのキャッシュ、ユーザーインターフェースへのデータ注入といった処理を肩代わりしてくれる便利ツールが存在します。
特に注目されているのが、RelayとApolloです。
RelayはFaceBookが開発したクライアントで、ReactとReact Native上で動作するもので、Apolloはどこでも動きます。
これからたくさん触っていきたいですね!
おわり