GraphQLとは
Facebookが開発したオープンソースのクエリー言語です。
RESTに代わるものとしても注目されています。
GraphQL | A query language for your API
メリット
RESTでは、クライアント側からURIにアクセスするだけで情報を取得できます。
情報をまとめて取得できますが、情報を選べません。
スマホとPCで取得する情報を変えたい場合、同じようなAPIを複数作る必要があります。
そのまま使用して、不具合がないとしても、必要のない情報によって重くなる可能性があります。
コンポーネントで、Webアプリケーションを作成するときも、APIに複数回リクエストすることが多くなります。
負荷を気にして、それらをまとめて新しいAPIを作っても手間がかかります。
GraphQLでは、一度のリクエストで、選んだ多くの情報を取得することができます。
GraphQLはどうやって使うのか
クエリー言語と聞くと、SQLのようなイメージです。
どのように使うのでしょうか?
GraphQLは、特定の環境に依存しない言語仕様です。
それぞれのプログラムで、GraphQLを扱えるライブラリを利用することになるでしょう。
フロントエンドのクライアントでは、以下が有名です。
Relay
Reactには、GraphQLでアプリケーションを開発するJavaScriptのフレームワークが用意されています。
Apollo Client
JavaScript(Angular、React、Vueなど多数)、ネイティブプラットフォーム(iOS with Swift / Android with Java)で利用できるGraphQLクライアントです。
GraphQLを試したい
Github APIでは、Github api Explorerを利用して、GraphQLを簡単に試すことができます。
GraphQL API Explorer | GitHub Developer Guide
まとめ
まだ、参考例が少ないので、すこし心許ない気がします。
サーバーの実装は面倒らしいですが、できてしまえば、あとからの変更に耐えやすい技術ですね。
フロントの記述は増えると思いますが、バックエンドとの繋ぐ部分で、すり合わせが少なくなるのは良いと感じます。
amazlet at 18.07.30
大場 寧子 松館 大輝 日高 尚美 Vu Xuan Dung
技術評論社
売り上げランキング: 49,960
コメント