4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Flutter】初心者必見!ローカルで取得するデータとAPI経由で取得する外部データの流れをざっくり理解しよう

Last updated at Posted at 2024-11-19

はじめに

みなさんこんにちは!
Flutterでアプリを開発する際に、データの流れが分かりづらいと感じることはありませんか?
今回は大きく分けて2つのデータ取得の流れを説明します。

  • ローカル環境でデータを取得する流れ
  • APIを経由して外部データを取得する流れ

この2つのデータ取得の流れをざっくりでもイメージできれば、アプリ開発がもっと楽しくなると思います!

1. ローカル環境のデータ取得の流れ

ローカル環境のデータ取得は、アプリ内でデバイスに保存されているデータを直接利用します。

データの流れ

  • ビュー(クライアント)
    ユーザーがアプリを操作します。

  • プロバイダ
    プロバイダはステートを通じて、ローカルデータベースにデータを取得しにいきます。

  • ステート
    アプリ内部の状態を一時的に管理します。プロバイダ経由でローカルDBから取得したデータを保持し、それをビューに渡します。

  • アプリDB
    デバイス内部に保存されているデータにアクセスし、必要な情報を提供します。

  • ビュー(クライアント)
    ステートから取得したデータをUIに反映します。

メリット

ローカルデータ取得のメリットは、ネットワーク接続が不要なため、高速かつ安定した動作が可能なことです。


2. API経由の外部データ取得の流れ

API経由のデータ取得は、外部のDBからリアルタイムでデータを取得します。

データの流れ

  • ビュー(クライアント)
    ユーザーが操作する画面のことです。

  • プロバイダ
    リポジトリを通じて、外部のAPIサーバーにデータ取得を指示します。

  • リポジトリ
    リクエストをAPIサーバーに送信し、必要なデータを取得します。

  • APIサーバ
    外部サーバーがリクエストを受け取り、内部のデータベースから必要な情報を取得します。そして、リクエストに応じたデータを返します。

  • リポジトリ
    サーバーからデータを取得しアプリ内で使いやすい形に加工します。その後、プロバイダを通じてステートに渡します。

  • ステート
    リポジトリから渡されたデータを一時的に保持します。

  • ビュー(クライアント)
    ステートに保持されたデータがUIに反映され、ユーザーに表示されます。

メリット

API経由のデータ取得のメリットは、外部サーバーの膨大なデータにアクセスできることです。
その代わり、ネットワーク接続が必須であるため、通信環境に応じて動作が遅くなる場合もあります。

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?