內容簡介
《從零開始學Flutter開發》針對目前高速發展的Flutter跨平台移動開發技術方案,從零開始深入講解其中涉及的技術點,內容全面詳細。本書共分18章,第1章至第4章主要介紹Flutter入門基礎知識,第5章至第7章主要介紹Flutter核心組件和布局相關組件,第8章至第15章主要介紹Flutter進階知識,第16章至第18章主要介紹Flutter擴展及實戰相關內容。
本書適合具有一定編程經驗的學生、開發者閱讀,也適合樂於嘗試新技術、渴望不斷提升自我的讀者參考、學習。
圖書目錄
第1章 認識Flutter 1
1.1 跨平台開發技術 1
1.2 一起認識Flutter 3
1.3 Flutter架構與特點 6
1.4 Flutter主流平台 7
1.5 Flutter未來展望 9
第2章 Dart語言基礎 12
2.1 認識Dart 12
2.1.1 什麼是Dart 12
2.1.2 Dart的特性 13
2.2 Dart的數據類型與操作符 15
2.2.1 Dart中的數據類型 15
2.2.2 Dart中的操作符 22
2.3 Dart的流程控制語句 23
2.4 Dart中的類與方法 26
2.4.1 Dart中的類 27
2.4.2 Dart中的方法 31
2.5 Dart的異步操作與導入類 35
第3章 Flutter開發入門 38
3.1 開發環境搭建 38
3.1.1 Android Studio開發環境的搭建 38
3.1.2 VSCode開發環境的搭建 42
3.1.3 模擬器的新建與調試 43
3.2 項目結構分析 47
3.3 配置檔案詳解 50
3.4 Flutter組件化 53
3.4.1 架構層級 53
3.4.2 組件分類 55
3.5 創建Flutter套用 57
3.5.1 創建默認套用 57
3.5.2 創建自己的套用 61
第4章 Flutter開發規範 64
4.1 項目結構規範 64
4.2 命名規範 66
4.3 代碼格式規範 68
4.4 注釋規範 70
4.5 代碼使用規範 71
4.5.1 與包導入相關的規範 72
4.5.2 與字元串相關的規範 72
4.5.3 與集合相關的規範 72
4.5.4 與函式相關的規範 74
4.5.5 與異常處理相關的規範 78
4.5.6 與異步任務編程相關的規範 78
4.5.7 與數據轉換相關的規範 79
第5章 Flutter常用組件(上) 81
5.1 文本類組件 81
5.1.1 Text組件 81
5.1.2 Button組件 88
5.1.3 TextField組件 93
5.2 圖片類組件 98
5.2.1 Image組件 98
5.2.2 Icon組件 108
5.3 導航類組件 111
5.3.1 AppBar組件 111
5.3.2 TabBar組件 116
5.3.3 NavigationBar組件 120
5.3.4 CupertinoTabBar和PageView相關組件 123
第6章 Flutter常用組件(下) 127
6.1 表單類組件 127
6.2 列表滾動組件 133
6.2.1 CustomScrollView組件 133
6.2.2 ListView組件 136
6.2.3 GridView組件 142
6.2.4 ScrollView組件 148
6.2.5 ExpansionPanel組件 150
6.3 Dialog組件 151
6.4 表格組件 155
6.4.1 Table組件 155
6.4.2 DataTable組件 159
6.4.3 PaginatedDataTable組件 162
第7章 Flutter常用布局組件 168
7.1 容器類布局組件 168
7.1.1 Scaffold布局組件 168
7.1.2 Container布局組件 172
7.1.3 Center布局組件 174
7.2 層疊類布局組件 177
7.3 線性布局組件 181
7.3.1 Row布局組件 181
7.3.2 Column布局組件 185
7.4 彈性布局組件 187
7.5 流式布局組件 190
7.5.1 Flow布局組件 190
7.5.2 Wrap布局組件 194
第8章 Flutter路由與生命周期 197
8.1 路由簡介 197
8.2 路由跳轉 199
8.3 參數傳遞 203
8.4 生命周期 206
8.5 按鍵監聽 211
第9章 Flutter HTTP網路請求 215
9.1 HTTP網路請求簡介 215
9.2 實現方式 217
9.2.1 通過io.dart里的HttpClient實現 217
9.2.2 通過Dart原生HTTP請求庫實現 219
9.2.3 通過第三方庫實現 225
9.3 Flutter JSON編解碼 230
9.3.1 JSON編解碼用法詳解 230
9.3.2 JSON編解碼最佳化 231
9.3.3 JSON自動序列化解碼 232
9.4 Flutter WebSocket的使用 234
9.4.1 WebSocket簡介 234
9.4.2 WebSocket基本用法 235
9.4.3 通過第三方外掛程式庫進行WebSocket通信 236
第10章 Flutter檔案操作與資料庫操作 238
10.1 檔案操作 238
10.2 手勢操作 243
10.3 資料庫操作 248
第11章 Flutter自定義組件與方法封裝 254
11.1 自定義組件 254
11.1.1 通過繼承組件實現自定義 254
11.1.2 通過組合組件實現自定義 257
11.1.3 通過CustomPaint繪製組件 261
11.2 方法封裝 265
第12章 Flutter動畫的實現 267
12.1 動畫簡介 267
12.2 基礎動畫 273
12.3 Hero動畫 276
12.4 交錯動畫 281
第13章 Flutter主題與套用國際化 286
13.1 主題的實現 286
13.1.1 創建全局主題 286
13.1.2 設定局部主題 290
13.1.3 擴展和修改全局主題 291
13.2 套用國際化 292
13.2.1 套用國際化簡介 292
13.2.2 使用外掛程式庫實現套用國際化 298
第14章 Flutter數據共享與傳遞 305
14.1 InheritedWidget組件 305
14.2 ScopedModel庫 307
14.3 Redux庫 311
14.4 EventBus庫 315
第15章 Flutter與原生API互動及外掛程式庫開發 321
15.1 Flutter與原生API互動 321
15.1.1 互動簡介 321
15.1.2 調用原生API 323
15.1.3 原生API調用Flutter API 330
15.1.4 Flutter組件與原生控制項混合使用 333
15.1.5 Flutter頁面跳轉到原生頁面 335
15.1.6 原生頁面跳轉到Flutter頁面 336
15.2 Flutter外掛程式庫開發 342
15.2.1 Dart Pub的使用 343
15.2.2 Flutter Package開發 344
15.2.3 Flutter Plugin開發 349
第16章 Flutter調試與套用打包發布 351
16.1 調試與單元測試 351
16.1.1 調試 351
16.1.2 單元測試 364
16.1.3 輔助工具的使用 365
16.2 Flutter Android套用打包發布 369
16.3 Flutter iOS套用打包發布 374
第17章 Flutter拓展:Dart Web 379
17.1 Dart Web簡介 379
17.2 Dart Web環境搭建 379
17.2.1 下載Dart SDK 380
17.2.2 下載開發工具 382
17.3 創建一個Dart Web項目 383
17.4 編寫第一個Dart Server 387
第18章 Flutter實戰 393
18.1 編寫一個備忘錄套用 393
18.1.1 知識整理 393
18.1.2 套用編寫 394
18.2 編寫一個TV套用 407
18.2.1 按鍵監聽 407
18.2.2 焦點處理 409
18.2.3 焦點框效果處理 409
作者簡介
譚東,計算機專業碩士,IEEE SPAC 2018最佳論文獲得者,CSDN部落格專家,《Android開發進階實戰:拓展與提升》作者,國內早期Flutter技術實踐者,具有多年編程經驗。
擅長Java、Node.js、Dart、Flutter、React等多門語言與技術框架,喜歡研究、善於分析總結,編寫過多個開源庫。