第1巻:基礎入門
第1章 Dartを知る
1.1 Dartの歴史と発展
1.2 DartとFlutterの関係
1.3 Dartの利用シーン
1.4 開発環境の構築(SDK、DartPad、IDE)
1.5 最初のプログラム:Hello World
第2章 基本文法
2.1 main()関数とエントリーポイント
2.2 変数と定数(var / final / const)
2.3 データ型(int、double、String、bool)
2.4 コレクション型(List、Set、Map)
2.5 演算子と式(算術、論理、比較、条件)
第3章 制御構文
3.1 if / else 文
3.2 switch / case 文
3.3 for / while / do-while ループ
3.4 break と continue
3.5 例外処理(try / catch / finally)
第4章 関数とスコープ
4.1 関数の定義と呼び出し
4.2 引数の種類(必須、オプション、名前付き、デフォルト値)
4.3 無名関数と矢印関数
4.4 スコープとクロージャ
4.5 高階関数
第2巻:オブジェクト指向プログラミング
第5章 クラスとオブジェクト
5.1 クラスの定義とインスタンス化
5.2 フィールドとメソッド
5.3 コンストラクタ(デフォルト、名前付き、ファクトリ)
5.4 GetterとSetter
5.5 static変数とメソッド
第6章 オブジェクト指向の発展
6.1 継承とポリモーフィズム
6.2 抽象クラスとインターフェース
6.3 Mixin と with
6.4 列挙型(enum)
6.5 演算子のオーバーロード
第7章 モダン言語機能
7.1 拡張メソッド(extension)
7.2 Null Safety の詳細
7.3 カスケード演算子(.. と ?..)
7.4 定数コンストラクタ
7.5 late と遅延初期化
第3巻:コレクションと関数型プログラミング
第8章 コレクション操作
8.1 Listの詳細操作
8.2 Mapの詳細操作
8.3 Setの詳細操作
8.4 コレクションリテラルと内包表記(if / for)
第9章 関数型スタイル
9.1 map / where / reduce / fold
9.2 Iterableと遅延評価
9.3 メソッドチェーンによるデータ処理
9.4 関数型とオブジェクト指向の融合
第4巻:非同期と並行処理
第10章 Futureと非同期プログラミング
10.1 Futureの基礎
10.2 async / await
10.3 then / catchError / whenComplete
10.4 タイムアウトと例外処理
第11章 Streamとイベント駆動
11.1 Streamの基本
11.2 単一購読ストリームとブロードキャストストリーム
11.3 StreamController
11.4 非同期イテレーション(await for)
11.5 ストリームの変換と結合
第12章 並行処理とIsolate
12.1 Isolateモデル
12.2 メッセージパッシング
12.3 compute関数
12.4 複数Isolateの協調
12.5 マルチスレッドとの比較
第5巻:エンジニアリング実践
第13章 パッケージと依存管理
13.1 pub.devとエコシステム
13.2 pubspec.yaml設定
13.3 依存関係の追加と管理
13.4 ローカル・Git依存
第14章 モジュール化とプロジェクト構造
14.1 Libraryとpart
14.2 複数ファイルの整理方法
14.3 インポートと命名規則
14.4 プロジェクトディレクトリ構成
第15章 テストとデバッグ
15.1 testパッケージ
15.2 グループ化テストとアサーション
15.3 モックテスト
15.4 デバッグツールとIDE統合
第16章 コード規約とツールチェーン
16.1 dart analyzeと静的解析
16.2 dartfmtによる自動整形
16.3 linterルールの活用
16.4 CI/CDとの統合
第6巻:高度なテーマ
第17章 ジェネリクス
17.1 ジェネリッククラス
17.2 ジェネリックメソッド
17.3 型制約
17.4 型推論
第18章 アノテーションとメタプログラミング
18.1 組み込みアノテーション(@override、@deprecatedなど)
18.2 カスタムアノテーション
18.3 リフレクション(dart:mirrors概要)
18.4 build_runnerとコード生成
18.5 json_serializable実践
第19章 FFIとネイティブ連携
19.1 FFIの基礎
19.2 C関数呼び出し
19.3 メモリとポインタ管理
19.4 DartとRustの連携
19.5 FlutterでのFFI利用
第20章 パフォーマンス最適化
20.1 メモリ管理とGC
20.2 Isolateのチューニング
20.3 Dart DevToolsの活用
20.4 実践的なパフォーマンス改善例
第7巻:実践編
第21章 コマンドラインツール開発
21.1 CLIプロジェクトの基本構成
21.2 argsパッケージによる引数処理
21.3 コンソール出力と進捗表示
21.4 実用スクリプト事例
第22章 サーバーサイド開発
22.1 shelfフレームワーク
22.2 RESTful API構築
22.3 WebSocket実装
22.4 データベース連携(PostgreSQL / MongoDB)
22.5 Dart Frog実践
第23章 デスクトップとクロスプラットフォーム
23.1 DartとFlutterの関係
23.2 デスクトップアプリ開発
23.3 プラグインとネイティブ連携
23.4 IoT/組込み分野でのDart活用
第8巻:アーキテクチャとベストプラクティス
第24章 デザインパターン
24.1 シングルトン
24.2 ファクトリパターン
24.3 リポジトリパターン
24.4 オブザーバーパターン
第25章 クリーンアーキテクチャ
25.1 3層構造(Data/Domain/Presentation)
25.2 UseCaseの整理
25.3 Repositoryインターフェースと実装
25.4 テスト駆動開発(TDD)
第26章 実用ケーススタディ
26.1 JSON APIクライアント
26.2 チャットルーム(Stream + WebSocket)
26.3 データ処理とファイル解析ツール
26.4 クロスプラットフォーム生産性アプリ
付録
- 付録A:主要Dartパッケージ一覧
- 付録B:用語集(日本語・英語)
- 付録C:学習リソースとコミュニティリンク
- 付録D:練習問題の解答