GraphQLの概要
これは、GraphQLとAdobe Commerceのシリーズの第1部です。 GraphQLは、強力なクライアントサイドアプリケーションとバックエンドの連携を実現する上で、急速に業界標準となりつつあります。 Adobe Commerceの開発者にとって、ヘッドレス CMSの能力が引き続き重要な課題となっています。
GraphQLを初めて使用する場合は、この節では基本的な概念と使用方法について説明します。
このシリーズのGraphQLに関する関連動画とチュートリアル
GraphQLとは?
GraphQLは、一意のAPI クエリ言語と、そのクエリ言語に応じてデータを提供するランタイムの仕様です。
RESTのような従来のweb APIは、異なるシステムがデータをやり取りする際に適していますが、プログレッシブ web アプリケーションのような最新のアプリリンクエクスペリエンスでは、パフォーマンスのピーク時よりも少ない機能を提供しました。 このようなアプリケーションでは、same アプリケーションのフロントエンドとバックエンドのレイヤーがweb APIを介して通信します。 RESTのようなスキームの規則化されたアプローチは、多くの種類のデータを迅速に取得する必要があるこの文脈では、適切な柔軟性を提供しないことが多い。
GraphQLを使用すると、クライアントは必要なデータを 正確に 記述できます。 複数のデータタイプを取得するために複数のネットワークリクエストを必要とする代わりに、1つのリクエストで多くのタイプに対してクエリを実行できます。 また、クエリを直感的に反映した形式で、要求されたタイプとフィールドのみを含めることで、応答はリーンに保たれます。
GraphQL仕様を実装するランタイムは、任意の言語で構築できます。 Adobe CommerceとMagento Open Sourceは
graphql-php PHP実装とその上に独自のレイヤーを構築します。
GraphQL クライアントの使用
コードサンプルとチュートリアルをテストするには、GUI GraphQL クライアントが必要です。 オプションはいくつかあります。
- Altairは、GraphQL専用に構築された優れた機能性を備えたクライアントです。 Adobeは、Altairをウォークスルー動画に使用しています。
- デスクトップアプリケーションをインストールしたくない場合は、Altairの拡張機能が
Chrome、Firefox、またはEdge ブラウザー。 - GraphiQLは、GraphQL FoundationのGraphQL IDEの実装です。 これはインストール可能なツールではなく、自分でインターフェイスを構築するために使用できるパッケージです。
- Postmanに慣れている方は、GraphQL クエリの適切なサポートを利用できますが、専用のGraphQL クライアントほど十分な機能を備えていません。
GraphQL クライアントで、Adobe Commerceまたは/graphql インスタンスのURL パス Magento Open Sourceにリクエストを送信する必要があります。 テストに既存のインスタンスを使用する場合は、Venia テーマのデモ(PWA Studioの実装例)を使用できます。https://venia.magento.com/graphql