GraphQL とは
GraphQL は、API のクエリおよび操作言語です。GraphQL は、データ要件とインタラクションを記述するための柔軟で直感的な構文を提供します。これにより、デベロッパーは、必要なものを正確に求め、予測可能な結果を得ることができます。また、1 回のリクエストで多数のソースにアクセスできるため、ネットワーク呼び出しと帯域幅の要件が緩和され、アプリケーションによって消費されるバッテリー寿命や CPU サイクルを節約できます。
データに対する更新はミューテーションによって簡素化され、デベロッパーはデータをどのように変更するかを説明できます。GraphQL は、サブスクリプションを介したリアルタイムソリューションの迅速な設定も容易にします。これらのすべての機能が結びつき、強力なデベロッパーツールと組み合わさったことで、GraphQL はアプリケーションデータの管理に不可欠な存在となっています。
AWSで GraphQL を実行する方法
GraphQL 実装の決定ガイド
GraphQL はお客様の組織に適していますか? GraphQL API を実装するための主な考慮事項を確認し、セルフホストソリューションとフルマネージドソリューションの長所と短所を詳しく見ていきます。
AWS データソース用の GraphQL リゾルバーを構築する方法
GraphQL リゾルバーを使用して、Amazon DynamoDB、Amazon Aurora、AWS Lambda などのデータソースに接続する方法を学びます。セルフマネージド GraphQL サーバーを使用した構築とフルマネージドサービスを使用した構築の違いを探ります。
GraphQL API のための Amazon DynamoDB データモデルを設計する方法
DynamoDB と GraphQL を統合するための 2 つのアプローチ (マルチテーブルとシングルテーブル) を評価する方法について説明します。各アプローチの利点と欠点を検討し、アプリケーションに適したものを選択するのに役立ちます。
GraphQL サブスクリプションを使用して AWS でリアルタイムアプリを構築する方法
チャット、ジオトラッキング、仮想教育技術ソリューション、遠隔医療、ソーシャルゲーム、スコア、料金更新などのインタラクティブなリアルタイムアプリケーションエクスペリエンスを強化するための GraphQL サブスクリプションの機能について説明します。
AWS でサーバーレス GraphQL API を作成する方法
スケーラブルなサーバーレス GraphQL API を構築して、Amazon DynamoDB や Amazon Aurora RDS などの AWS データソースを安全にクエリおよび更新する方法を説明します。
AWS でサーバーレス API を構築する
サーバーレスアーキテクチャを使用して API を構築することは、急速に成長しているトレンドです。AWS 上の REST-like および GraphQL API を実装するためのオプションなど、AWS サーバーレス API のビジネスロジックを管理する方法を学びます。
AWS でのサーバーレス API セキュリティ、認証、許可
API セキュリティ、認証タイプ、きめ細かな許可パターンなど、AWS でサーバーレス API を保護するためのベストプラクティスとオプションを確認してください。
AWS AppSync を使用した AWS での構築のためのフロントエンドデベロッパーガイドシリーズ
8 部構成のガイドシリーズには、AWS AppSync を使用して AWS でフルスタックアプリケーションを構築するフロントエンドデベロッパー向けのステップバイステップのチュートリアルが含まれます。
1.次世代のマイクロ SaaS に AWS を利用すべき理由
このガイドシリーズの概要を読んで、Next.js、AWS クラウド開発キット、AWS AppSync、Amazon DynamoDB、Amazon S3 を使用して、フルタイプ、フルスタック、クラウド接続アプリケーションを AWS で構築する方法を学んでください。
4.フロントエンドデベロッパー向け AWS CDK: データベースとサーバーレス関数
この 4 番目のガイドでは、AWS CDK コンストラクトを活用して DynamoDB テーブルとサーバーレス関数、および必要なロールとポリシーを作成します。
7.フロントエンドデベロッパー向け AWS CDK: AWS AppSync による最新の API の構築
この 7 番目のガイドでは、AWS AppSync を紹介し、それが GraphQL とどのように関連しているか、そしてアプリケーションの AWS エコシステムとの統合にどのように役立つかについて説明します。
2.開始する: AWS CLI のインストール方法と CDK TypeScript プロジェクトの設定方法
この 2 番目のガイドでは、AWS クラウド開発キットの使用を開始する方法について説明します。まず、AWS ユーザーの作成と AWS CLI のインストールからはじめます。
5.フロントエンドデベロッパー向け AWS CDK 認証と許可についてのガイド
この 5 番目のガイドでは、Amazon Cognito を使用してアプリケーションに認証と許可を組み込む方法について説明します。
8.フロントエンドデベロッパー向け AWS CDK: Github Actions によるマルチステージデプロイ
この最後の 8 番目のガイドでは、環境を AWS にデプロイします。
3.フロントエンドデベロッパー向け AWS CDK: 開始のための究極のガイド
この 3 番目のガイドでは、このガイドシリーズがどのように進むか、そして何を構築するかを見ていきます。次に、CDK プロジェクトを設定して、後の章で柔軟に繰り返せるようにします。
6.フロントエンドデベロッパー向け AWS CDK: Amazon S3 と CloudFront
この 6 番目のガイドでは、コンテンツ配信ネットワークを使用して簡単に S3 バケットを作成する方法を実際に確認し、セキュリティ面についても説明します。
GraphQL を使用する利点
GraphQL を使用すると、データ管理を簡素化することで、最新のウェブおよびモバイルアプリケーションをより高速に構築できます。1 回のネットワークリクエストで、さまざまなソースで複数の情報をクエリおよび取得できるため、デベロッパーは、低速回線でも応答時間を短縮できます。GraphQL リクエストでは、デベロッパーは、サーバーから返されたデータをどのように構造化するかを指定できます。これにより、必要な形式で、必要なデータのみをクエリできます。
より迅速な開発
GraphQL を使用すると、アプリケーションのデータのニーズを管理するために必要なエンドポイント数を大幅に削減できます。1 回のリクエストで、複数のリソースにわたりデータを取得または操作できます。また、デベロッパーにバックエンドの知識がなくても、GraphQL を使用することで、利用可能なデータ、サポート対象のクエリ、データタイプを見つけられます。
より高い柔軟性
GraphQL を使用すると、既存のクエリやバックエンドスキーマに影響を与えずに、データタイプやデータ構造を変更できます。フロントエンドコードを変更したり、API の新バージョンを作成したりしなくても、既存の API に新たなフィールドと型を追加できます。GraphQL は特定のデータベースエンジン、プラットフォーム、コードベースに関連付けられていないため、多数のシナリオで使用できます。
より簡単なデータ管理
GraphQL では必要なときに必要なデータのみをリクエストし、受信できます。データ取得の過不足がないため、アプリケーションのパフォーマンスが全面的に向上します。GraphQL では、サブスクリプションを使用して、利用可能にするデータの部分を指定できるため、複雑な分散型アーキテクチャを構築する必要はありません。
GraphQL の活用場面
GraphQL は、さまざまな業界、市場、カテゴリにわたり、複数のソースからデータを必要としたり、リアルタイムのデータ更新やオフライン機能を必要としたりする、すべてのタイプのモバイルアプリケーションやウェブアプリケーションに適しています。GraphQL を使った構築を特に活用できるアプリケーションの例をいくつか次に紹介します。
リアルタイムアプリケーション
GraphQL を使用すると、複数のデバイスでのサブスクリプションやデータへのオフラインアクセスが可能となり、ソーシャルメディアやチャットなどのリアルタイムデータに依拠するアプリケーションをより簡単に構築できます。GraphQL では、データタイプおよびソースが異なる複数のユーザーによるメッセージングも管理できます。
データ駆動型アプリケーション
GraphQL はすべてのデータソースとマイクロサービスに対して単一のエントリポイントを作成するため、複数の異なるデータソースに依存するアプリケーションを迅速に構築できます。
モバイルバックエンド
GraphQL はバックエンドからのデータ取得に必要なクエリの数を最小限に抑え、ネットワークリクエストを最適化します。また、受信データの構築方法が指定できるため、お使いのアプリケーションで必要なデータのみを受信でき、特にモバイルデバイスにおけるネットワーク利用とパフォーマンスが向上します。
フルマネージド GraphQL サービスをお探しですか?
AWS AppSync の詳細を確認する
AWS AppSync は、リアルタイムのデータ同期機能とオフラインプログラミング機能を備えた、エンタープライズレベルかつフルマネージドのサーバーレス GraphQL サービスです。AppSync では、リアルタイムおよびオフラインのデータアクセス、データの同期、複数のデータソース間のデータ操作など、あらゆるアプリケーションデータを管理するタスクを安全に処理することで、データ駆動型のモバイルアプリケーションおよびウェブアプリケーションを簡単に構築できます。