私も知らなかったGraphQLという単語。これはRestAPIの次の世代のAPIとしてFacebookで開発された言語らしく、リリースされてからまだ数年しか経っていない新しい技術です。そのためか、まだまとまったドキュメントはなく、WEBを見ても?となる時間が多い技術だったりします。そこで、今回は「なぜGraphQL?」という疑問を解決する3つのメリットを紹介します。AppSync)NoSQLデータベースの最大のメリット「スキーマが柔軟にできる」(逆にいうと、統率がとれない)を享受できるのが、GraphQLの一つではないでしょうか。GraphQLはコードでAPIを定義し、AppSyncにアップロードする事で簡単なDynamoDBへのI/Oのコードを自動生成してくれます。・LaravelなどにあるModel(Laravelのドキュメント)を作成する(Model名とテーブル名を決める)・その定義をアップロードするとmutationとqueries、DynamoDBのテーブルを自動的にAWSが生成する・CRUD操作が使用できるようになるという流れになります。Gatewayとの違いは?」という事がそこまで触れられておらず、ちょっと内容を把握するのに時間がかかりました。gatewayと関係ありません。GraphQLはAppSyncのみの機能です。Amplifyというライブラリを使用するのがベスト・プラクティスだと感じます(GUIで操作をすると痛い目を見るので、必ずCLIで操作する必要ありますが。入れ子構造のAPIを組めるようになる(Restでもできるけどね!)メリットの2つ目には、入れ子式でAPIが組める、と言う事をあげたいと思います。入れ子式?Restfulでもできるじゃん?と言うかたもいるかと思いますが、メリット1と同じく「子供にもデータModelを適応してModelの親子関係を定義したかたちでのAPIが定義できる」のがメリットです。学年と言うModelとクラスと言うModelがあったとします。この時、学年と言うModelの下にクラスと言うModelがあります。すると、以下のようなデータ定義が生まれると思います。この時、クラスのModelにある担任が佐藤となっているデータ、を引き抜きたい場合、人数が40人以上のクラスを引き抜きたい場合、学力平均が何点以上...といったかたちで、引き抜きたいものに応じてAPIを複数作って引き抜くかたちが多いと思います。GraphQLを使うと、任意の項目に対して柔軟にFilter式が適用されるので、GraphQLのAPIが一つあればデータ検索、抽出ができるようになります。それぞれに対してCRUD処理が自動的にAPIとして作成されるので、Modelの定義+APIが一つのAPI(データモデル)の定義で済むということになります。書き方には少々癖があるのですが、それさえクリアできればGraphQLを使用することでAPIのメンテナンスコストを大幅に下げることができます。ドキュメント生成コストが圧倒的に下がるドキュメントを作成せずとも、APIサンプル(Model定義)を提供することで誰もがすぐに使えるシステムを作ることができます。APIを複数作成する必要がないので、開発時間を下げることがきっとできるはずです。ところで、こんなGraphQLのメリットがあるにも関わらず、私の場合はとても多くの時間をGraphQLを使用した開発に当てることとなってしまいました。原因としては・とてもじゃないけど一人で悩んで理解するものではなかった(時間がかかりすぎました)・それぞれのAWSリソースの関連性が分からず苦戦したというのがあげられます。Amplify)を使用して個人で開発した時につまづいたこと、素人目線で見たときにここでつまづく!と私が個人的に感じたポイントを逐次紹介していきます。過去の投稿:電子レシート?ドンキホーテ[Majica]を試してみた次へ次の投稿:雇用契約書から発注書まで。コメントデータの処理方法の詳細はこちらをご覧ください。Invoice」をリリースしました。電話番号しかわからない相手への領収証の送付に対応。API連携もできるから、請求書を送付しなくてもいいお客様への送付に使えて便利です!詳しくはサービスページをご覧下さい。EMC(クレジットカードタッチ決済)の違いとは店舗外で電話をとりたい!時に考えられる方法を紹介します電話代が安い!事務所電話にもオススメな事業者を5つ紹介します!QRコード決済が1つに?2019年8月からはじまる「JPQR」とは。1丁目1番地にネットショップを!最短での売上UPに貢献する「ネットショップ」作成サービス、比較してみました。携帯をポイントカードに!FeliCa/NFCを使わないでもスマホにショップカードなどを入れる方法をまとめましたAndroidで使用できるPOSレジは?代表的な5つの製品をAirレジと比較してみた毎月の引き落としの申込を自動化する!業務効率化に役立つ”継続課金ページ”の作成方法比較%d人のブロガーが「いいね」をつけました。