Rating 4.16 out of 5 (333 ratings in Udemy)
What you'll learn- GraphQLの言語仕様が分かるようになる
- GraphQLのクライアントサイドアプリケーションの実装方法が分かるようになる
- GraphQLのquery(クエリ)やmutation(ミューテーション)を理解し実装できるようになる
- GitHubのGraphQL APIと連携するアプリケーションが実装できるようになる
- GraphQLでPagination(ページネーション)が実装できるようになる
Description本コースは、 概論編、言語仕様編、そして実践編の3つのセクションで構成されています。
概論編では、GraphQL独特の概念を掴んでもらうために、RESTと比較しながらその特徴について学んでいきます。
言語仕様編では、実際に手を動かしながらGraphQL APIサーバと対話できるフロントエンドアプリケーションの開発に必要となる知識を体系的に身につけて頂きます。
そして実践編です。この実践編ではフロントエンドアプリケーションで最も実績のあ …
Rating 4.16 out of 5 (333 ratings in Udemy)
What you'll learn- GraphQLの言語仕様が分かるようになる
- GraphQLのクライアントサイドアプリケーションの実装方法が分かるようになる
- GraphQLのquery(クエリ)やmutation(ミューテーション)を理解し実装できるようになる
- GitHubのGraphQL APIと連携するアプリケーションが実装できるようになる
- GraphQLでPagination(ページネーション)が実装できるようになる
Description本コースは、 概論編、言語仕様編、そして実践編の3つのセクションで構成されています。
概論編では、GraphQL独特の概念を掴んでもらうために、RESTと比較しながらその特徴について学んでいきます。
言語仕様編では、実際に手を動かしながらGraphQL APIサーバと対話できるフロントエンドアプリケーションの開発に必要となる知識を体系的に身につけて頂きます。
そして実践編です。この実践編ではフロントエンドアプリケーションで最も実績のあるReactライブラリを用いてGraphQLクライアントアプリケーションの実装を行います。 GraphQLで使用されるQueryやMutationといったリクエストを Apolloという定評のあるライブラリを用いてGraphQLリクエストの送受信を行う方法についてみっちり学習します。
以上、計7.5時間のコースとなります。(但し、コースのアップデートにより時間増減の可能性あり)
尚、本コースではGraphQLの学習を第一の目的としています。 そして、Reactの基本的な学習を修了されている方を前提としています。そのため、ReactやES2015等のモダンなJavaScriptの言語仕様についての説明はコースの中では割愛させていただいております。しかしながら、GraphQLの理解の妨げになるほどの支障がある場合には積極的にこちらのQ&Aでご質問頂ければと思います。もちろん、GraphQLについてのご質問も大歓迎です。どしどしご質問をお寄せください。基本的には、日本の暦の土日祝日を除く、3営業日以内で回答をさせて頂く方針ですので、宜しくお願い致します。
Udemyの返金保証についてです。 Udemyでは、30日以内であれば100%返金保証となっております。 何かしらの理由でコースにご満足いただけない場合は、返金対応できますので その際は返金保証のシステムの活用をご検討ください。
概論編
言語仕様編
GitHub GraphQL APIを利用する上での準備
GraphiQLの紹介
GitHubとのAuthorization
初めてのQuery
クエリ(query)、フィールド(Fields)、型(Types)
引数(Arguments)
エイリアス(Aliases)
フラグメント(Fragments)
操作名(Operation Name)
変数(Variables)
ミューテーション(Mutations)
インラインフラグメント(Inline Fragments) と型名(__typename)
型システム(Type System)、スカラー型(Scalar Types)、オブジェクト型(Object Types)、そしてスキーマ(Schemas)
型についてのおさらい
スカラー型とオブジェクト型の違い
スキーマ定義の存在
ページネーション(Pagination)
Relay-Style Cursor Paginationについて
3つのケーススタディーでページネーションを完全理解
Forward方向のページ遷移
Backward方向のページ遷移
pageInfoフィールド(startCursor、endCursor、hasPreviousPage、hasNextPage)の存在とその役割
connectionとは
edgesとは
cursorの役割とbase64エンコードされたcursorを解剖してみよう
実践編 - GitHubリポジトリ検索アプリケーションの開発にチャレンジ
本セクションで扱うソースコード
デモアプリの説明
GitHub Tokenの作成
Reactアプリケーションの作成からGitHubリポジトリの作成
必要なnpmパッケージ(apollo-boost、graphql、react-apollo)をインストールする
apollo-boostのご紹介
各種npm パッケージのインストール
不要なコードやファイル等を除去する
dotenvをセットアップする
dotenvのセットアップ
GitHubアクセストークンを設定しロードする
GraphQLクライアントをセットアップする
GraphQLのコードを別のファイルに分離する
search queryとVariablesをアプリケーションに適用する
検索のためのクエリの実行
変数(Variables)の活用
検索フォームを作成し動的に検索を実行できるようにする
検索フォームの作成とイベントハンドラの作成
状態(ReactのState)の管理
thisコンテキストのbind
タイトルを表示する
検索結果一覧をリスト表示する
次ページ(Next)ボタンを実装する
前ページ(Previous)ボタンを実装する
starの数を表示する
starを付けているかどうかの状態を表示する
onClickでstarを付与する
onClickでstarを解除する
refetchQueriesを利用しstarの総数をstarの付与/解除に同期させる
partialな状態変化に伴う全体で保持する状態との矛盾の紹介
矛盾問題の解決策を2つご紹介、そして1つ目をハンズオンでご紹介
refetchQueriesに渡すArrayとFunction
writeQueryを利用しstarの総数を書き換える
矛盾問題の解決策の2つ目をハンズオンでご紹介
Mutationのupdateオプションによるコールバック処理
キャッシュオブジェクトstore再び
store.readQueryによるキャッシュの読取り
store.writeQueryによるキャッシュの更新
ReactのrefでonChangeによる過剰なquery送信を回避する