目次

はじめに

この本を通して学べること
対象読者
対応環境
お問い合わせ
表記関係について
免責事項

第1章 Riverpod

1.1 状態管理
1.2 Flutterにおける状態管理
1.3 Riverpodでできること
1.4 Riverpodのパッケージ
1.5 この章で学んだこと

第2章 基本的な使い方

2.1 データの受け渡し
2.2 Provider
2.3 FutureProvider
2.4 StreamProvider
2.5 StateProvider
2.6 StateNotifierProvider
2.7 ScopedProvider
2.8 この章で学んだこと

第3章 詳細な使い方

3.1 Providerを組み合わせる
3.2 パラメータを指定してデータを取得する
3.3 不要なデータを破棄する
3.4 データを強制的に再読込する
3.5 データの変更に応じて処理する
3.6 Providerを監視する
3.7 この章で学んだこと

第4章 実践的な使い方

4.1 Themeを切り替える
4.2 検索パラメータを管理する
4.3 Authenticationと連携する
4.4 Firestoreと連携する
4.5 テストコードを書く
4.6 この章で学んだこと

第5章 イミュータブルと宣言的UI

5.1 イミュータブル
5.2 宣言的UI
5.3 Riverpod
5.4 freezed
5.5 この章で学んだこと

おわりに

はじめに

 本書を手にとっていただき、ありがとうございます。

 Flutterでアプリケーション開発をする上で、状態管理は重要なテーマのひとつです。ですが、ProviderやRiverpodといった状態管理ライブラリーをうまく使いこなせなかったり、使いこなすために情報収集している人が多いと感じています。そこで、本書ではRiverpodを使ったFlutterアプリケーションの状態管理に必要な知識・技術を広く獲得することを目指します。

 また、本書ではプログラミング言語の文法や開発環境の構築方法など、基礎知識を習得している方を対象としています。Flutterを使ったアプリ開発に全く触れたことのない方は、著者が運営している「Flutterで始めるアプリ開発」を事前に終了することをおすすめします。


 Flutterで始めるアプリ開発

 https://www.flutter-study.dev/


この本を通して学べること

 ・Riverpodの基本的な使い方

 ・Riverpodの実践的な使い方

対象読者

 ・Riverpodの使い方を知りたい方

 ・Riverpodを理解しきれていない方

対応環境

 ・flutter 2.2.0 (stable)

 ・flutter_riverpod ^0.14.0+3

お問い合わせ

 本書に関する意見、質問などは下記までお寄せ下さい。

 ・https://twitter.com/_umatoma

表記関係について

 本書に記載されている会社名、製品名などは、一般に各社の登録商標または商標、商品名です。会社名、製品名については、本文中では©、®、™マークなどは表示していません。

免責事項

 本書に記載された内容は、情報の提供のみを目的としています。本書を用いた開発・製作・運用は、必ずご自身の責任と判断によって行って下さい。これらの情報による開発・製作・運用の結果について、著者はいかなる責任も負いません。



第1章 Riverpod

 本書では、Flutter(Dart)向けの状態管理ライブラリーである、Riverpodに関して紹介していきます。この章では、状態管理やRiverpodの概要を紹介します。具体的な使い方は登場しませんが、Riverpodを使う上で、前提となる知識を身に着けていきます。

 Riverpodについて紹介する前に、「状態管理」とはそもそも何なのか、という点について確認します。

1.1 状態管理

 アプリケーションにおける「状態管理」とは、「アプリケーションで扱う様々なデータを管理する」ことを指します。

 たとえば、FlutterではWidgetをツリー状に組み合わせ、UIを作ります。どのようなWidgetを組み合わせるかは、アプリケーションが持っているデータに応じて判断します。つまり、「データを元にUI」を作ることになり、この仕組みのことを「状態を持つ」と表現します。

 アプリケーションが持っているデータは「状態」であり、それらを元にUIを作るため、適切に「管理」する必要があるということです。特に、アプリケーションの規模が大きくになるにつれ、管理すべき状態が複雑になります。そういった場合に、適切に状態管理できていないと、様々なバグを招くことになってしまいます。なので、アプリケーションを開発する上で「状態管理」は重要なテーマのひとつなのです。

図1.1:
試し読みはここまでです。
この続きは、製品版でお楽しみください。