
Flutterでアプリを作るときに「カレンダー」「Todo」「メモ」「設定」みたいに複数の機能を入れる方法」は、基本的にアプリを画面(ページ)ごとに分けて管理します。
ここがFlutterアプリ設計の一番重要な考え方です。
Flutterで複数機能を作る基本構成
一番よくある構成はこれです。
lib/
├ main.dart
├ screens/
│ ├ home_screen.dart
│ ├ calendar_screen.dart
│ ├ todo_screen.dart
│ └ settings_screen.dart
├ models/
│ └ todo.dart
├ services/
│ └ database.dart
└ widgets/
└ todo_tile.dart
役割はこう
| フォルダ | 内容 |
| screens | 画面 |
| models | データ構造 |
| services | DB・API |
| widgets | 部品 |
= 大きいアプリはフォルダで機能を分ける
画面を切り替えて複数機能を作る
一番よく使うのが
BottomNavigationBar(下のメニュー)
例:
ホーム
カレンダー
Todo
設定
みたいなアプリ
画面切り替えの基本コード
これでカレンダーとTodoを切り替えできるアプリになる。
機能ごとにパッケージを使う
Flutterは自分で全部作るより
pub.devのパッケージを使うのが普通
よく使う例
| 機能 | パッケージ |
| カレンダー | table_calendar |
| Todo保存 | sqflite |
| ローカル保存 | shared_preferences |
| 状態管理 | provider / riverpod |
| 通知 | flutter_local_notifications |
例(カレンダー)
flutter pub add table_calendar
大きいアプリの作り方
複数機能アプリはこの順番で作ると成功します
作る順番
① ホーム画面
② 画面切り替え
③ Todo機能
④ データ保存
⑤ カレンダー機能
⑥ 通知機能
⑦ 設定画面
全部一気に作ろうとすると100%詰む
アプリ設計のイメージ
例えば
マイライフ管理アプリ
├ カレンダー
├ Todo
├ メモ
├ 習慣トラッカー
├ 設定
Flutterでは
1アプリ = 複数画面の集合
と思えばOK。
Flutterでアプリ作る人の構成
かなりリアルな構成
lib
├ main.dart
├ screens
│ ├ home
│ ├ calendar
│ ├ todo
│ ├ memo
│ └ settings
├ models
├ services
├ providers
└ widgets
→ この構成にするとプロっぽいアプリになる
Flutterアプリ開発は
UI(画面)
↓
ロジック
↓
データ保存
この3つで出来ています。
| 部分 | 例 |
| UI | カレンダー画面 |
| ロジック | Todo追加 |
| データ | SQLite保存 |
これを機能ごとに作るのがコツ。