Flutter 跨平臺開發入門與實戰

Flutter 跨平臺開發入門與實戰

作者: 向治洪
出版社: 人民郵電
出版在: 2021-01-01
ISBN-13: 9787115551443
ISBN-10: 7115551448
裝訂格式: 平裝
總頁數: 301 頁





內容描述


本書共 14 章,涵蓋 Flutter 跨平臺開發所需的各方面知識,
循序漸進的講解有助於讀者更深入地學習Flutter 知識。
第1章~第 8 章介紹 Flutter 的入門與基礎知識,主要由 Flutter 概述、Flutter 快速入門、
Dart 基礎、Flutter組件基礎、Flutter 頁面佈局、高級組件、事件處理,以及動畫等知識組成。
第 9 章~第 13 章介紹進階知識,主要由路由與導航、網絡與通信、混合開發,
以及插件開發與熱更新等組成,介紹 Flutter 跨平臺開發中的相關技巧,也是Flutter 跨平臺開發必須掌握的內容。
第 14 章主要由 Flutter 項目實戰組成,介紹對 Flutter 基礎知識的綜合運用,
通過對此實戰項目的學習,讀者將會對 Flutter 框架有更加全面和深入的理解。
本書適合移動 Android.ios 開發人員,前端開發人員以及對移動開發感興趣的讀者閱讀。


目錄大綱


目錄
第 1章 Flutter概述 1
1.1 Flutter的歷史 1
1.1.1 Flutter特性 1
1.1.2 Flutter版本 2
1.2 Flutter框架 3
1.2.1 Flutter Framework 4
1.2.2 Flutter Engine 4
1.2.3 Flutter Embedder 4
第 2章 Flutter快速入門 5
2.1 開發環境搭建 5
2.1.1 搭建macOS環境 5
2.1.2 搭建Android環境 6
2.1.3 搭建iOS環境 8
2.1.4 診斷Flutter開發環境 9
2.2 開發工具 9
2.2.1 Android Studio 9
2.2.2 VSCode 10
2.3 Flutter項目示例 11
2.3.1 創建示例項目 11
2.3.2 項目結構 13
2.3.3 修改示例項目 14
2.3.4 體驗熱重載 15
2.3.5 程序調試 15
2.3.6 運行模式 17
2.4 Flutter Web入門 18
2.5 Flutter升級 19
2.6 Flutter包管理 20
第3章 Dart基礎 22
3.1 Dart入門 22
3.1.1 Dart安裝與升級 22
3.1.2 編寫Hello World 23
3.2 Dart基礎知識 23
3.2.1 變量與常量 23
3.2.2 內置數據類型 24
3.3 函數 26
3.3.1 main() 27
3.3.2 函數參數 27
3.3.3 返回值 27
3.3.4 匿名函數 28
3.4 Dart運算符 28
3.5 流程控制語句 31
3.6 異常 33
3.6.1 拋出異常 33
3.6.2 捕獲異常 33
3.6.3 finally 34
3.7 類 34
3.7.1 類的成員變量 34
3.7.2 構造函數 35
3.7.3 繼承類 36
3.7.4 抽象類 36
3.7.5 枚舉類 37
3.7.6 Mixin 38
3.8 泛型 38
3.9 元數據 40
3.10 異步編程 41
3.10.1 聲明異步函數 41
3.10.2 Future 41
3.10.3 async/await 43
3.10.4 Stream 43
第4章 Flutter組件基礎 45
4.1 Widget組件基礎 45
4.1.1 StatelessWidget 45
4.1.2 StatefulWidget 47
4.1.3 MaterialApp 48
4.1.4 AppBar 50
4.1.5 Scaffold 52
4.2 狀態管理基礎知識 53
4.2.1 狀態生命周期 53
4.2.2 自身狀態管理 55
4.2.3 父子組件狀態管理 56
4.2.4 混合狀態管理 58
4.3 基礎組件 61
4.3.1 文本組件 61
4.3.2 按鈕組件 63
4.3.3 圖片組件 66
4.3.4 圖標組件 67
4.3.5 輸入框組件 69
4.3.6 表單組件 72
4.4 容器組件 74
4.5 盒約束模型 76
4.5.1 ConstrainedBox 76
4.5.2 SizedBox 78
4.5.3 UnconstrainedBox 78
第5章 Flutter頁面佈局 80
5.1 線性佈局 80
5.2 彈性佈局 81
5.3 流式佈局 82
5.4 層疊佈局 85
第6章 高級組件 87
6.1 可滾動組件 87
6.1.1 Scrollable組件 87
6.1.2 Scrollbar組件 88
6.1.3 SingleChildScrollView組件 88
6.1.4 CustomScrollView組件 89
6.1.5 ScrollController組件 92
6.2 列表組件 95
6.2.1 ListView 95
6.2.2 ListView.builder 97
6.2.3 ListView. separated 98
6.2.4 ListView.custom 99
6.3 網格組件 100
6.3.1 GridView基礎 100
6.3.2 GridView構造函數 103
6.4 滑動切換組件 105
6.5 自定義組件 107
6.5.1 組合組件 107
6.5.2 自繪組件 108
第7章 事件處理 111
7.1 原始指針事件 111
7.1.1 基本概念 111
7.1.2 忽略事件 113
7.2 手勢識別組件 114
7.2.1 基本用法 114
7.2.2 常用事件 115
7.2.3 拖曳與縮放 116
7.2.4 手勢識別器 118
7.2.5 手勢競爭與沖突 120
7.3 事件總線 122
7.4 事件通知 124
7.4.1 基本用法 124
7.4.2 自定義通知 125
7.4.3 通知冒泡原理 127
第8章 動畫 128
8.1 動畫基礎 128
8.1.1 Animation 128
8.1.2 AnimationController 129
8.1.3 Curve 131
8.1.4 Tween 133
8.2 動畫組件 134
8.2.1 基本用法 134
8.2.2 AnimatedWidget 136
8.2.3 AnimatedBuilder 137
8.3 轉場動畫 138
8.4 交錯動畫 141
8.5 Flare動畫 143
第9章 路由與導航 150
9.1 路由基礎 150
9.1.1 基本概念 150
9.1.2 基本路由 151
9.1.3 命名路由 152
9.1.4 路由嵌套 153
9.1.5 路由傳參 154
9.2 路由棧 156
9.2.1 路由棧簡介 156
9.2.2 pushReplacementNamed 156
9.2.3 popAndPushNamed 157
9.2.4 pushNamedAnd-RemoveUntil 157
9.2.5 popUntil 159
9.3 自定義路由 159
9.3.1 自定義路由簡介 159
9.3.2 Fluro 161
第 10章 網絡與通信 165
10.1 網絡協議 165
10.1.1 HTTP 165
10.1.2 HTTP 2.0 166
10.1.3 HTTPS 167
10.2 網絡請求 167
10.2.1 HttpClient 167
10.2.2 http 168
10.2.3 dio 169
10.3 JSON解析 172
10.3.1 手動解析 172
10.3.2 插件解析 173
10.3.3 工具解析 175
10.4 異步編程 177
10.4.1 事件循環機制 177
10.4.2 Isolate 179
10.4.3 線程管理與Isolate 181
10.4.4 Stream 183
10.5 BloC 184
10.5.1 BloC Widget 185
10.5.2 BloC示例應用 187
第 11章 數據持久化 191
11.1 SharedPreferences存儲 191
11.2 sqlite數據庫存儲 193
11.3 文件存儲 198
第 12章 混合開發 201
12.1 混合開發簡介 201
12.2 集成Flutter 202
12.2.1 Flutter模塊 202
12.2.2 Android集成Flutter 202
12.2.3 iOS集成Flutter 205
12.2.4 Flutter模塊調試 207
12.3 Flutter與原生通信 208
12.3.1 Flutter通信機制 208
12.3.2 BasicMessage-Channel 209
12.3.3 MethodChannel 211
12.3.4 EventChannel 214
12.4 混合路由管理 217
12.4.1 混合導航棧 217
12.4.2 原生頁面跳轉至Flutter頁面 217
12.4.3 Flutter頁面跳轉至原生頁面 218
12.5 FlutterBoost 222
12.5.1 FlutterBoost集成 222
12.5.2 FlutterBoost框架結構 225
第 13章 插件開發與熱更新 227
13.1 Flutter插件開發 227
13.1.1 新建插件 227
13.1.2 示例插件 228
13.1.3 插件開發 230
13.1.4 運行插件 235
13.2 Flutter開源庫 236
13.2.1 狀態管理框架 237
13.2.2 網頁加載 241
13.2.3 下拉刷新 244
13.2.4 屏幕適配 247
13.2.5 消息推送 249
13.3 Flutter熱更新 255
13.3.1 熱更新簡介 255
13.3.2 接入Bugly 256
13.3.3 熱更新示例 260
第 14章 新冠肺炎疫情應用 263
14.1 項目搭建 263
14.1.1 搭建主框架 264
14.1.2 入口程序 266
14.1.3 網絡請求 267
14.1.4 網頁組件封裝 269
14.2 功能開發 271
14.2.1 首頁模塊開發 271
14.2.2 疫情地圖模塊開發 273
14.2.3 權威闢謠 275
14.2.4 同行程查詢 278
14.2.5 大圖預覽 281
14.3 異常監測與上報 283
14.3.1 Flutter異常 283
14.3.2 異常捕獲 283
14.3.3 異常捕獲示例 285
14.3.4 異常上報 286
14.4 性能分析與優化 289
14.4.1 性能圖層 289
14.4.2 GPU問題分析 290
14.4.3 UI問題分析 292
14.4.4 內存優化 294
14.5 打包與發布 295
14.5.1 更換默認配置 295
14.5.2 Android應用打包 297
14.5.3 iOS應用打包 299


作者介紹


向治洪
嗶哩嗶哩資深工程師,大前端專家,技術達人,曾出版《React Native移動開發實戰》
《Kotlin入門與實戰》《Weex跨平台開發與實戰》以及《React Native開發進階》。




相關書籍

Building Distributed Applications in Gin: A hands-on guide for Go developers to build and deploy distributed web apps with the Gin framework

作者 Labouardy Mohamed

2021-01-01

TypeScript實戰

作者 汪明

2021-01-01

圖解設計思考:好設計,原來是這樣「想」出來的! (Graphic Design Thinking: Beyond Brainstorming)

作者 艾琳.路佩登(Ellen Lupton) 林育如 譯

2021-01-01