「まるで専属の執事!」あなたの欲しいものを、欲しいだけ届ける魔法のAPI:GraphQLって何?

こんにちは!あなたのスマホやパソコンが、もっと賢く、もっとスムーズに動いたらいいな、って思ったことありませんか?

例えば、こんな経験はありませんか?
スマホで友達のSNSプロフィールを見に行ったとします。名前と写真が見たかっただけなのに、住所とか、会社の情報とか、全然興味ない情報までゴソッと表示されて、ちょっと読み込みが遅いな…と感じたり。

あるいは、お気に入りのカフェのアプリで、友達のリストを見たら「この友達が最近行ったカフェはどこだろう?」って知りたくなって、また別のページを開いて、また読み込みを待って…なんて、ちょっと手間だな、なんて。

そんな「あとちょっと、こうだったら便利なのに!」というあなたの願いを叶える、まるで魔法のような、そしてとっても気の利く「執事」のような技術があるんです。それが今回ご紹介する「GraphQL API」なんです。


それは一体、何者なの?(熟練の執事の登場!)

「API」って言葉、耳にしたことがあるかもしれませんね。これは、簡単に言うと、アプリがコンピュータの向こう側にある情報庫に「これちょうだい!」ってお願いする時の「お作法」や「窓口」のようなものです。

例えるなら、宅配便で荷物を送ってもらう時に「荷物ください!」ってお願いするようなイメージです。

従来の宅配便(今までのAPI)

今までの多くのAPIは、まるで「おまかせセット」の宅配便みたいでした。

  • 「Aさんのプロフィールセットください!」と頼むと、名前、住所、電話番号、好きな食べ物、生年月日…と、全部まとめてドン!と届く。
  • 「Bさんが最近訪れたカフェ情報ください!」と頼むと、カフェの名前、住所、営業時間、メニュー、店内の写真…と、これまた全部まとめてドン!と届く。

便利なこともありますが、「住所はいらないんだけどな…」「カフェのメニューは今はいいんだけどな…」という時でも、全部受け取ってから、自分で必要なものだけを取り出す、という一手間がありました。

GraphQL API(熟練の執事付き宅配便)

ところが、GraphQL APIは、まるで「あなた専属の、超気の利く執事」のようなものなんです!

あなたは執事に、こんな風に、ものすごく細かく「依頼書」を渡すことができます。

  • 「執事さん、Aさんの情報をお願いします。名前と、好きな食べ物だけで結構です。」
  • 「それから、Bさんが最近訪れたカフェの情報もお願いします。カフェの名前と、今日の営業時間だけ教えてください。」

すると執事は、「かしこまりました!」と一言。そして、あなたが指定した情報だけを、過不足なく、きっちりまとめて持ってきてくれるんです。余計なものは一切含まれません。

これがGraphQL APIの最もすごいところ。アプリの側(あなた)が「欲しいものを、欲しいだけ」細かくオーダーできるという、まさに「オーダーメイドの情報収集」なんです。


この執事、何ができるの?(日常シーンで大活躍!)

「あれもこれも!」を一度にまとめてお願い!

先ほどのカフェアプリの例を思い出してください。「友達のリスト」と「お気に入りのカフェ情報」を別々に見ていた、あの不便さ。

GraphQLの執事なら、こんな風に一度にお願いできます。

「執事さん、私の友達リストをお願いしますね。名前とニックネームでいいです。
あと、私のお気に入りのカフェ情報もください。カフェの名前と、今日の営業時間をお願いします!」

そう。一つ一つ別の宅配便(API)に頼むのではなく、たった一回執事にお願いするだけで、複数の種類の情報から、欲しいものだけをまとめて手に入れられるんです。これなら、何回も待つ必要がありませんよね!

「いらないものは、いらない!」きっちり節約

友達のSNSプロフィールを見た時に、住所とか会社の情報とか、今は必要ないな…と思うこと、ありますよね。

GraphQLの執事なら、「Aさんの情報は、名前と写真だけで結構です」と指定すれば、本当にそれだけを届けてくれます。

余計な情報を受け取らないので、アプリの読み込みも速くなるし、スマホのデータ通信量も節約できます。なんだか得した気分になりますね。

「スマホでもPCでも、画面に合わせて」ぴったりの情報を

同じアプリでも、スマホで見る時とパソコンで見る時では、表示したい情報って少し違いますよね。

  • スマホでは画面が小さいから、友達の名前とアイコンだけでシンプルに表示したい。
  • パソコンでは画面が大きいから、名前、アイコン、趣味、最近の投稿…と詳しく表示したい。

この時、GraphQLの執事なら、「スマホ用だからこれだけよろしく」「PC用だからあれも追加でお願い」と、それぞれの画面に合わせて最適な情報をオーダーできるんです。アプリを作る人にとっても、すごく便利なんですよ。


簡単な例:あなたも執事を使ってみませんか?

では、実際にあなたがお気に入りのカフェアプリで、GraphQLの執事に情報をお願いする場面を想像してみましょう。

アプリからの「依頼書」(コンピュータへの指示)

あなたのアプリが、コンピュータの執事に渡す「依頼書」は、だいたいこんな感じです。もちろん、これはイメージしやすいように、私たちが普段使う言葉に変換したものですよ。


執事さんへ

本日、以下の情報をお願いします。

1. 私の友達リスト
   - 友達の名前
   - 友達のニックネーム
2. 私がお気に入りのカフェ情報
   - カフェの名前
   - カフェの住所
   - 今日の営業時間

執事が持ってくる「結果」(アプリに表示される情報)

この依頼書を受け取った執事(GraphQL API)は、情報庫から必要なものだけをサッと見つけ出し、こんな風にまとめてあなたに届けます。


お客様、お待たせいたしました。

[友達]
- 花子 (ハナちゃん)
- 太郎 (タロさん)
- 美咲 (ミサキング)

[お気に入りカフェ]
- サニーカフェ (〇〇通り1-2-3, 本日10:00~18:00)
- ムーンコーヒー (△△ビル地下1F, 本日09:00~20:00)

どうですか?必要な情報が、ちょうど欲しい形にまとまって届きましたよね。余計な情報は一切なし。まるで本当に、専属の執事があなたの好みを知り尽くしているかのようです。


結び:実はそんなに難しくないし、すごく便利なんだよ!

「GraphQL API」なんて聞くと、なんだか難しそうな技術用語に聞こえるかもしれません。

でも、その中身は、私たちの「もっと便利にしたい!」「もっと効率よくしたい!」という、ごく自然な願いを叶えるための、とっても賢い工夫なんです。

まるで、あなたの隣に、いつでも「ご用命は?」と控えめに待っていてくれる、そんな心強い執事がいるようなもの。

これからは、アプリがサクサク動いたり、欲しい情報だけがスマートに表示されたりするのを見たら、裏側でこの気の利いた「GraphQLの執事」が頑張ってくれているのかもしれないな、なんて、ちょっとだけ思い出してみてくださいね!

さあ、あなたも専属執事を雇ってみませんか?(もちろん、アプリが雇うんですけどね!)

コメント