Routemaster
機能
アプリ全体のルートをまとめて管理。URLや複数の画面遷移を計画的に設定。
役割
ドラえもんが一日の移動計画を全部まとめて決めるように、アプリ全体のルートを事前に管理。
メリット
- 全体管理がしやすい
- 画面遷移のルールを一元管理できるため、大規模なアプリで複雑なナビゲーションが必要な場合に便利
- URLベースのルーティング
- Webアプリでのページ管理や深いリンクへの対応が簡単
デメリット
- 初期設定が複雑
- 導入と設定がやや複雑で、学習コストがかかる
- 柔軟性が低い
- 動的にルートを変更する際には、制限がある場合がある
使い方のポイント
- 大規模なアプリや複雑なルーティングが必要な場合に適している。Webアプリや複数のエントリーポイントがあるアプリでは特に有効
- 一日の全ての移動を事前に計画する必要があるとき(複雑なルートを管理したいとき)に使う
例
Routemasterは、ドラえもんが「どこでもドア」を使って、のび太の一日の移動計画を全体的に管理するようなもの。たとえば、家から学校、友達の家、そしてまた家に帰るまでの全てのルートを最初に設定して、計画通りに移動する。
Navigator
機能
画面ごとの遷移を個別に処理。ユーザーの操作に応じてその場でルートを決める。
役割
ドラえもんがその場でのび太を一歩一歩案内するように、必要なときに画面遷移をサポート。
メリット
- シンプルで柔軟
- 小規模なアプリや簡単な画面遷移に適しており、動的なルーティングも比較的簡単に実装できる
- 使いやすい
- Flutterの標準機能なので、初心者にも使いやすい
デメリット
- 規模が大きくなると管理が大変
- 多くの画面があるアプリでは、遷移の管理が複雑になりがち
使い方のポイント
- 小規模なアプリや単純な画面遷移が多い場合に適している。シンプルな構造のアプリで効果的
- その場で柔軟に進むべき道を決めたいとき(シンプルで小規模な移動)に使う
例
Navigatorは、のび太が「どこでもドア」で設定された各場所に着いた後、実際にその場所でどの道を進むかを一歩一歩案内してくれるドラえもん。たとえば、学校に着いたら教室までの道を教える役割。
