GraphQLというものの立ち位置

GraphQLという技術がある、この技術について思うことをまとめていこうと思う

以前のフロントエンドとバックエンドの開発の分業

これまで、open apiがでてきてたが、サーバサイドでspring-foxが提供するアノテーションンを使えば、サーバサイド主体で、インターフェースのHTMLによる設計書が生成されてるので、もてはやされていたというのが、2021年まであったように思う。

サーバサイドとフロントエンドで、OPENAPIをインターフェースとした分業があったように感じる。

しかし、主導権はサーバーサイドが強く持っていたのではないだろうか?

フロントエンドがどちらかというと、サーバーサイドのAPIの提供にひきづられていたように感じる。

BFFな時代

しかし、2022年からは フロントエンドが必要としているものは、データであって、 APIのエンドポイントがどうだとかは、気にしなくてもよい仕組みにしたいという要望があったのだとおもう。 

それをかなえるのがGraphQLであり、バックエンドと、フロントエンドの間を取り持つ立ち位置に存在しているのではないかと考えている。

BFF(Backends For Frontends)の説明

https://atmarkit.itmedia.co.jp/ait/articles/1803/12/news012.html

いろいろ解説があるけれども、自分は、GraphQLのことだと思っている。

ZOZOでの取り組み

https://techblog.zozo.com/entry/zozo-aggregation-api-bff

自分がいま、理解しているGraphQLというものの立ち位置は、そういったところだ。

コード生成についても興味があり、調査しようと思っているサイト

dotansimha/graphql-code-generator

GraphQL Schemaを用意してあれば、いろいろ生成しちゃう的なものらしい

https://github.com/dotansimha/graphql-code-generator

graphql-code-generatorを動かせるデモも用意されている

https://www.graphql-code-generator.com/#live-demo

TypeScript? Operations

graphql-typeop

https://github.com/glutengo/graphql-typeop

TypeScript?でGraphQLの戻り値関連の生成をやっちゃうよ的なもので、上記のgraphql-code-generatorを利用しているみたい。

https://www.graphql-code-generator.com/plugins/typescript-operations

https://www.graphql-code-generator.com/

https://relay-compiler-repl.netlify.app/

https://github.com/Urigo/graphql-cli

spring-graphql

2021年12月に version 1.0.0 になった https://docs.spring.io/spring-graphql/docs/1.0.0-SNAPSHOT/reference/html/

自分が興味があるのは、

@GraphQlRepository?

を使った自動登録の仕組みと、そのコードを生成するツールは何か?ということが興味がある。

サンプル

https://github.com/spring-projects/spring-graphql/tree/main/samples

日本語での2018年の記事

たぶん、FacebookのSDKをつかった、サンプルなのでは?

https://techblog.yahoo.co.jp/advent-calendar-2018/create-springbook-graphql-api/

サンプル

https://github.com/klowa/example-graphql-api

Spring BootでGraphQLを試した

2019年11月の記事だ

https://qiita.com/kurukuruz/items/b948e77a56b946864a86

apploというGRAPHQLをターゲットしてる会社のブログ

https://www.apollographql.com/

デプロイ後の調整についての見識が深いように感じられる

https://www.apollographql.com/blog/announcement/announcing-managed-federation-265c9f0bc88e/

GraphQL Pokémon を使って楽しく学ぶ GraphQL クエリ

https://kakakakakku.hatenablog.com/entry/2019/12/30/135420

Altair GraphQL Client

chromeのプラグインで、RESTサーバのテストで使うPOSTMANのように、GRAPHQLのテストができるツール

https://altair.sirmuel.design/

Altair GraphQL Client を解説しているサイト

https://itnews.org/news_contents/product-altair

GraphQL Network Inspector

chromeのプラグイン https://chrome.google.com/webstore/detail/graphql-network-inspector/ndlbedplllcgconngcnfmkadhokfaaln?utm_source=chrome-ntp-icon

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2021-12-26 (日) 17:08:48 (852d)