西山秀治西山秀治 / 2023年10月27日

GraphQLについて

UX / UI のデザインに強いWebシステムの開発と、BtoB Webマーケを支援するWeb制作を提供するN’s Creates (エヌズクリエイツ) 株式会社の西山です。

今回は、業務で活用中のGraphQLの特徴についてお話ししたいと思います。

GraphQLの概要

データ取得と操作のためのAPIクエリ言語で、その柔軟性と効率性からWeb開発の世界で注目を集めています。

誕生

GraphQLの物語は、2012年Facebook内で始まります。
現在普及しているREST APIですが、いくつかの課題が浮上しました。

  • オーバーフェッチング(過剰な取得)
  • アンダーフェッチング(過小な取得)
  • REST APIの変更やバージョニングの管理の複雑さ

このような課題に対処するため、Facebookのエンジニアたちは新しいアプローチを模索しました。
その結果、2012年から2015年にかけてGraphQLが開発されました。

Facebook内で使用されるようになり2015年にオープンソース化、2018年にはGraphQLのプロジェクトが新たに設立されたGraphQL Foundationに移譲されました。

特徴

柔軟なデータ取得
GraphQLではクライアントが必要なデータを指定でき、ネストすることで、関連するデータを一度のクエリで取得できます
これにより、オーバーフェッチやアンダーフェッチといったデータの過不足が解消され、必要な情報のみを取得できるようになります。

単一のエンドポイント
REST APIでは、さまざまなエンドポイントにデータを取得する必要がありましたが、GraphQLは、1つのエンドポイントを使用します。
クライアントはこのエンドポイントを通じて必要なデータを取得することが可能です。

強力な型システム
GraphQLは強力な型システムを提供します。
データの型はスキーマで厳密に定義され、データの整合性を保つ役割を果たします

まとめ

GraphQLはREST APIの課題を解決するための新しい技術ですが、

学習コストの高さ、複雑なネストによるパーフォーマンスの低下、キャッシュが複雑になるなどのデメリットも存在します。

REST APIとGraphQLのそれぞれのメリットとデメリットをバランス良く評価し、プロジェクトのニーズに合わせて導入することが重要だと思います。
少しでも読者にとって新しい情報があれば幸いです、それではまた次回!

同じテーマの記事

齋藤 公一齋藤 公一 / 2024年3月26日

業務システムこそデザインにこだわった方が良い理由

山本 明子山本 明子 / 2024年3月22日

肩首伸ばしてスッキリ!座りながらできるストレッチ

本田 顕本田 顕 / 2024年3月13日

マック・ミラーが最高

西山秀治西山秀治 / 2024年2月16日

PHP8について

お問い合わせ

BtoBサービスのデザイン・開発に関することならお気軽にご相談ください

一緒に働く仲間を募集しています

採用情報

デザイナー、エンジニア共に募集をしています。

パートナー募集

現在は主に開発領域に対して募集しています。