內容簡介
本書將向你展示:通過使用變數和數據結構編寫有效的Dart代碼。通過探索小部件和數據處理構建Flutter應用程式。探索雲提供商解決方案,並將其與Flutter集成。通過使用Google Cloud無伺服器管理API來處理數據。使用Firebase解決方案,如身份驗證和Cloud Firestore資料庫。構建適用於移動和桌面平台的Web應用程式。
作者簡介
Richard Rose是一名Google Cloud實驗室架構師,專注於平台工程、Kubernetes和無伺服器技術。他還是《Hands-On Serverless Computing with Google Cloud》一書的作者。
目錄
前言 1
第1 章 學習Dart 變數 7
1.1 運行Dart 應用程式 8
1.2 使用整數值 .9
1.3 使用雙精度值(Double)的操作 . 11
1.4 使用布爾值(Boolean)的操作 11
1.5 使用字元串(String) 12
1.6 輸出信息到控制台 13
1.7 添加一個常量變數(編譯時) 15
1.8 添加一個常量變數(運行時) 16
1.9 使用空變數 16
第2 章 深入理解控制流程 .19
2.1 驗證條件是否滿足 19
2.2 在滿足條件之前疊代 21
2.3 疊代一系列項 .23
2.4 基於值執行條件動作 25
2.5 使用枚舉器表示數值 26
2.6 實現異常處理 .28
第3 章 實現函式 31
3.1 聲明函式31
3.2 向函式添加參數 32
3.3 使用可選參數 .33
3.4 從函式中返回值 35
3.5 聲明匿名函式 .36
3.6 使用Future 添加函式延遲 38
第4 章 處理列表和映射表 .41
4.1 創建數據列表 .42
4.2 修改列表數據 .43
4.3 使用複雜類型的列表 44
4.4 處理映射表的鍵/ 值對 46
4.5 列印映射表數據結構的內容 48
4.6 驗證映射表中是否存在內容 49
4.7 列印複雜數據類型 50
第5 章 開始使用面向對象的Dart 53
5.1 開始使用面向對象的Dart 54
5.2 創建一個類 55
5.3 使用構造函式初始化類 .56
5.4 添加類的繼承 .58
5.5 添加類接口 61
5.6 添加Mixin 聚合類 64
第6 章 Dart 測試用例 .67
6.1 將Dart 測試包添加到應用程式中 68
6.2 創建示例測試應用程式 .70
6.3 在Dart 應用程式中運行單元測試 71
6.4 分組多個單元測試 74
6.5 為測試添加模擬數據 77
第7 章 Flutter 框架基礎 .81
7.1 模擬應用程式接口 82
7.2 創建一個基礎模板的Flutter 項目 83
7.3 去除Flutter 調試橫幅 .85
7.4 了解小部件 87
7.5 深入理解小部件樹 88
7.6 提高小部件渲染性能 89
第8 章 添加資源檔案 91
8.1 使用pubspec.yaml 檔案.92
8.2 添加資源資料夾 94
8.3 引用圖像95
8.4 添加Google Fonts 包 97
8.5 導入包 98
第9 章 使用小部件 101
9.1 在Flutter 中創建無狀態小部件 102
9.2 在Flutter 中創建有狀態小部件 103
9.3 重構Flutter 小部件 107
9.4 使用Scaffold 類 . 111
9.5 添加一個AppBar 標題欄 114
9.6 使用容器構建 117
9.7 使用Center 小部件 120
9.8 使用SizedBox 小部件 .122
9.9 使用Column 小部件 .125
9.10 使用Row 小部件 . 129
9.11 使用Expanded 小部件 132
第10 章 開發用戶界面 . 137
10.1 使用Google Fonts 包 . 138
10.2 結合RichText 139
10.3 識別宿主平台 141
10.4 使用Placeholder Widget 144
10.5 使用LayoutBuilder .146
10.6 使用MediaQuery 訪問螢幕尺寸 150
第11 章 組織螢幕數據 . 155
11.1 實現垂直ListView 156
11.2 實現水平ListView 159
11.3 添加一個SliverAppBar. 162
11.4 添加SliverList 165
11.5 添加一個項目的GridView 170
11.6 添加SnackBar(彈出通知) . 172
第12 章 Flutter 頁面導航 177
12.1 使用路由添加頁面導航(命令式) 178
12.2 使用路由添加頁面導航(聲明式) 182
12.3 實現導航抽屜 186
12.4 使用選項卡 . 191
12.5 添加底部導航欄 195
12.6 使用Key 傳遞信息 . 198
第13 章 處理數據資源 . 201
13.1 戰略性地訪問數據 202
13.2 重構數據 204
13.3 從JSON 生成Dart 類 206
13.4 異步使用本地JSON 數據 209
13.5 從資產資料夾中使用JSON 數據集 214
13.6 訪問遠程JSON 數據 .218
第14 章 測試Flutter 用戶界面 . 221
14.1 Flutter 中的自動化小部件測試 .222
14.2 進行自動化小部件測試 224
14.3 使用Flutter Driver 進行集成測試 225
14.4 測試Android/iOS 設備兼容性 227
第15 章 讓Firebase、Flutter 一起工作 231
15.1 在Flutter 中使用Firebase 平台 232
15.2 設定Firebase 項目 233
15.3 初始化用於本地開發的Firebase SDK 235
15.4 配置Firebase 仿真器 .238
15.5 在開發環境中添加flutterfire_cli .240
15.6 集成Firestore 資料庫 243
15.7 向Firestore 資料庫寫入數據 .246
15.8 從Cloud Firestore 中讀取數據 .251
15.9 將Firebase 身份驗證添加到Flutter 256
15.10 使用Firebase Hosting 託管Flutter Web 應用程式 262
第16 章 介紹雲服務 . 265
16.1 開始使用雲服務提供商 266
16.2 使用身份和訪問管理 . 266
16.3 使用雲存儲託管對象 . 268
16.4 使用Dart 開發後端HTTP 伺服器 270
16.5 構建Dart 容器 271
16.6 介紹Dart 的Serverless .273
第17 章 開始遊戲開發 . 277
17.1 將Flame 包添加到Flutter 中 . 278
17.2 創建Flame 腳手架 279
17.3 添加精靈圖 . 281
17.4 向精靈圖添加手動水平移動 283
17.5 添加精靈圖的自動垂直移動 286
17.6 添加碰撞檢測 290
17.7 添加文本渲染 294
17.8 添加圖形基元 298
17.9 添加音效 304