* GraphQLというものの立ち位置 [#e72e1bbb] GraphQLという技術がある、この技術について思うことをまとめていこうと思う ** 以前のフロントエンドとバックエンドの開発の分業 [#b8caf937] これまで、open apiがでてきてたが、サーバサイドでspring-foxが提供するアノテーションンを使えば、サーバサイド主体で、インターフェースのHTMLによる設計書が生成されてるので、もてはやされていたというのが、2021年まであったように思う。 サーバサイドとフロントエンドで、OPENAPIをインターフェースとした分業があったように感じる。 しかし、主導権はサーバーサイドが強く持っていたのではないだろうか? フロントエンドがどちらかというと、サーバーサイドのAPIの提供にひきづられていたように感じる。 ** BFFな時代 [#h27cc347] しかし、2022年からは フロントエンドが必要としているものは、データであって、 APIのエンドポイントがどうだとかは、気にしなくてもよい仕組みにしたいという要望があったのだとおもう。 それをかなえるのがGraphQLであり、バックエンドと、フロントエンドの間を取り持つ立ち位置に存在しているのではないかと考えている。 *** BFF(Backends For Frontends)の説明 [#d51f0fd6] https://atmarkit.itmedia.co.jp/ait/articles/1803/12/news012.html いろいろ解説があるけれども、自分は、GraphQLのことだと思っている。 *** ZOZOでの取り組み [#jd8cf7f5] https://techblog.zozo.com/entry/zozo-aggregation-api-bff 自分がいま、理解しているGraphQLというものの立ち位置は、そういったところだ。 * コード生成についても興味があり、調査しようと思っているサイト [#e5235fee] ** dotansimha/graphql-code-generator [#e71bbadf] GraphQL Schemaを用意してあれば、いろいろ生成しちゃう的なものらしい https://github.com/dotansimha/graphql-code-generator *** graphql-code-generatorを動かせるデモも用意されている [#s73bd0af] https://www.graphql-code-generator.com/#live-demo *** TypeScript Operations [#f904e3b7] ** graphql-typeop [#oe824600] 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 [#nb75911c] 2021年12月に version 1.0.0 になった https://docs.spring.io/spring-graphql/docs/1.0.0-SNAPSHOT/reference/html/ 自分が興味があるのは、 @GraphQlRepository を使った自動登録の仕組みと、そのコードを生成するツールは何か?ということが興味がある。 *** サンプル [#cce1d205] https://github.com/spring-projects/spring-graphql/tree/main/samples ** 日本語での2018年の記事 [#z8606706] たぶん、FacebookのSDKをつかった、サンプルなのでは? https://techblog.yahoo.co.jp/advent-calendar-2018/create-springbook-graphql-api/ *** サンプル [#zd448a59] https://github.com/klowa/example-graphql-api ** Spring BootでGraphQLを試した [#z94bbcc7] 2019年11月の記事だ https://qiita.com/kurukuruz/items/b948e77a56b946864a86 ** apploというGRAPHQLをターゲットしてる会社のブログ [#g3356ee6] https://www.apollographql.com/ デプロイ後の調整についての見識が深いように感じられる https://www.apollographql.com/blog/announcement/announcing-managed-federation-265c9f0bc88e/ ** GraphQL Pokémon を使って楽しく学ぶ GraphQL クエリ [#sb376710] https://kakakakakku.hatenablog.com/entry/2019/12/30/135420 ** Altair GraphQL Client [#w10d9fca] chromeのプラグインで、RESTサーバのテストで使うPOSTMANのように、GRAPHQLのテストができるツール https://altair.sirmuel.design/ *** Altair GraphQL Client を解説しているサイト [#zf02206b] https://itnews.org/news_contents/product-altair ** GraphQL Network Inspector [#uaeb7e77] chromeのプラグイン https://chrome.google.com/webstore/detail/graphql-network-inspector/ndlbedplllcgconngcnfmkadhokfaaln?utm_source=chrome-ntp-icon