Flutter跨平臺(tái)開發(fā)入門與實(shí)戰(zhàn)
定 價(jià):79 元
- 作者:向治洪
- 出版時(shí)間:2021/1/1
- ISBN:9787115551443
- 出 版 社:人民郵電出版社
- 中圖法分類:TN929.53
- 頁碼:301
- 紙張:
- 版次:01
- 開本:16開
本書共 14 章,涵蓋 Flutter 跨平臺(tái)開發(fā)所需的各方面知識(shí),循序漸進(jìn)的講解有助于讀者更深入地學(xué)習(xí)Flutter 知識(shí)。
第1章~第 8 章介紹 Flutter 的入門與基礎(chǔ)知識(shí),主要由 Flutter 概述、Flutter 快速入門、Dart 基礎(chǔ)、Flutter組件基礎(chǔ)、Flutter 頁面布局、高級(jí)組件、事件處理,以及動(dòng)畫等知識(shí)組成。第 9 章~第 13 章介紹進(jìn)階知識(shí),主要由路由與導(dǎo)航、網(wǎng)絡(luò)與通信、混合開發(fā),以及插件開發(fā)與熱更新等組成,介紹 Flutter 跨平臺(tái)開發(fā)中的相關(guān)技巧,也是Flutter 跨平臺(tái)開發(fā)必須掌握的內(nèi)容。第 14 章主要由 Flutter 項(xiàng)目實(shí)戰(zhàn)組成,介紹對(duì) Flutter 基礎(chǔ)知識(shí)的綜合運(yùn)用,通過對(duì)此實(shí)戰(zhàn)項(xiàng)目的學(xué)習(xí),讀者將會(huì)對(duì) Flutter 框架有更加全面和深入的理解。
本書適合移動(dòng) Android.ios 開發(fā)人員,前端開發(fā)人員以及對(duì)移動(dòng)開發(fā)感興趣的讀者閱讀。
基于最新的Flutter 1.17.0版本進(jìn)行編寫,一本書掌握最新Flutter開發(fā)框架!
1.側(cè)重基礎(chǔ),循序漸進(jìn)的學(xué)習(xí)線路
本書涵蓋 Flutter 跨平臺(tái)開發(fā)所需的各方面知識(shí),并且對(duì)知識(shí)和技術(shù)要點(diǎn)由淺入深地進(jìn)行講解,非常適合初學(xué)者。
2.大量項(xiàng)目實(shí)例,內(nèi)容翔實(shí)
本書在講解 Flutter 的各個(gè)知識(shí)點(diǎn)時(shí),運(yùn)用了大量的實(shí)例并配有運(yùn)行效果圖。讀者在自行練習(xí)時(shí)可以先編寫代碼,而后對(duì)照效果圖運(yùn)行效果。
3.實(shí)例貼近實(shí)際開發(fā)場景
本書采用的實(shí)例,大多貼近實(shí)際開發(fā)場景,通俗易懂的文字描述也有助于讀者理解。
祁寧 SegmentFault 思否 CTO
作者這些年來分享了很多關(guān)于 Flutter 跨平臺(tái)技術(shù)的優(yōu)秀內(nèi)容,這本書也是他準(zhǔn)備良久的精心之作。Flutter 技術(shù)代表移動(dòng)端編程的一大趨勢,如果你想了解并掌握這項(xiàng)技術(shù),非常有必要讀讀這本書。
向治洪,嗶哩嗶哩資深工程師,大前端專家,技術(shù)達(dá)人,曾出版《React Native移動(dòng)開發(fā)實(shí)戰(zhàn)》《Kotlin入門與實(shí)戰(zhàn)》《Weex跨平臺(tái)開發(fā)與實(shí)戰(zhàn)》以及《React Native開發(fā)進(jìn)階》。
目錄
第 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 開發(fā)環(huán)境搭建 5
2.1.1 搭建macOS環(huán)境 5
2.1.2 搭建Android環(huán)境 6
2.1.3 搭建iOS環(huán)境 8
2.1.4 診斷Flutter開發(fā)環(huán)境 9
2.2 開發(fā)工具 9
2.2.1 Android Studio 9
2.2.2 VSCode 10
2.3 Flutter項(xiàng)目示例 11
2.3.1 創(chuàng)建示例項(xiàng)目 11
2.3.2 項(xiàng)目結(jié)構(gòu) 13
2.3.3 修改示例項(xiàng)目 14
2.3.4 體驗(yàn)熱重載 15
2.3.5 程序調(diào)試 15
2.3.6 運(yùn)行模式 17
2.4 Flutter Web入門 18
2.5 Flutter升級(jí) 19
2.6 Flutter包管理 20
第3章 Dart基礎(chǔ) 22
3.1 Dart入門 22
3.1.1 Dart安裝與升級(jí) 22
3.1.2 編寫Hello World 23
3.2 Dart基礎(chǔ)知識(shí) 23
3.2.1 變量與常量 23
3.2.2 內(nèi)置數(shù)據(jù)類型 24
3.3 函數(shù) 26
3.3.1 main() 27
3.3.2 函數(shù)參數(shù) 27
3.3.3 返回值 27
3.3.4 匿名函數(shù) 28
3.4 Dart運(yùn)算符 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 構(gòu)造函數(shù) 35
3.7.3 繼承類 36
3.7.4 抽象類 36
3.7.5 枚舉類 37
3.7.6 Mixin 38
3.8 泛型 38
3.9 元數(shù)據(jù) 40
3.10 異步編程 41
3.10.1 聲明異步函數(shù) 41
3.10.2 Future 41
3.10.3 async/await 43
3.10.4 Stream 43
第4章 Flutter組件基礎(chǔ) 45
4.1 Widget組件基礎(chǔ) 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 狀態(tài)管理基礎(chǔ)知識(shí) 53
4.2.1 狀態(tài)生命周期 53
4.2.2 自身狀態(tài)管理 55
4.2.3 父子組件狀態(tài)管理 56
4.2.4 混合狀態(tài)管理 58
4.3 基礎(chǔ)組件 61
4.3.1 文本組件 61
4.3.2 按鈕組件 63
4.3.3 圖片組件 66
4.3.4 圖標(biāo)組件 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章 高級(jí)組件 87
6.1 可滾動(dòng)組件 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 網(wǎng)格組件 100
6.3.1 GridView基礎(chǔ) 100
6.3.2 GridView構(gòu)造函數(shù) 103
6.4 滑動(dòng)切換組件 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 手勢識(shí)別組件 114
7.2.1 基本用法 114
7.2.2 常用事件 115
7.2.3 拖曳與縮放 116
7.2.4 手勢識(shí)別器 118
7.2.5 手勢競爭與沖突 120
7.3 事件總線 122
7.4 事件通知 124
7.4.1 基本用法 124
7.4.2 自定義通知 125
7.4.3 通知冒泡原理 127
第8章 動(dòng)畫 128
8.1 動(dòng)畫基礎(chǔ) 128
8.1.1 Animation 128
8.1.2 AnimationController 129
8.1.3 Curve 131
8.1.4 Tween 133
8.2 動(dòng)畫組件 134
8.2.1 基本用法 134
8.2.2 AnimatedWidget 136
8.2.3 AnimatedBuilder 137
8.3 轉(zhuǎn)場動(dòng)畫 138
8.4 交錯(cuò)動(dòng)畫 141
8.5 Flare動(dòng)畫 143
第9章 路由與導(dǎo)航 150
9.1 路由基礎(chǔ) 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章 網(wǎng)絡(luò)與通信 165
10.1 網(wǎng)絡(luò)協(xié)議 165
10.1.1 HTTP 165
10.1.2 HTTP 2.0 166
10.1.3 HTTPS 167
10.2 網(wǎng)絡(luò)請(qǐng)求 167
10.2.1 HttpClient 167
10.2.2 http 168
10.2.3 dio 169
10.3 JSON解析 172
10.3.1 手動(dòng)解析 172
10.3.2 插件解析 173
10.3.3 工具解析 175
10.4 異步編程 177
10.4.1 事件循環(huán)機(jī)制 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示例應(yīng)用 187
第 11章 數(shù)據(jù)持久化 191
11.1 SharedPreferences存儲(chǔ) 191
11.2 sqlite數(shù)據(jù)庫存儲(chǔ) 193
11.3 文件存儲(chǔ) 198
第 12章 混合開發(fā) 201
12.1 混合開發(fā)簡介 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模塊調(diào)試 207
12.3 Flutter與原生通信 208
12.3.1 Flutter通信機(jī)制 208
12.3.2 BasicMessage-Channel 209
12.3.3 MethodChannel 211
12.3.4 EventChannel 214
12.4 混合路由管理 217
12.4.1 混合導(dǎo)航棧 217
12.4.2 原生頁面跳轉(zhuǎn)至Flutter頁面 217
12.4.3 Flutter頁面跳轉(zhuǎn)至原生頁面 218
12.5 FlutterBoost 222
12.5.1 FlutterBoost集成 222
12.5.2 FlutterBoost框架結(jié)構(gòu) 225
第 13章 插件開發(fā)與熱更新 227
13.1 Flutter插件開發(fā) 227
13.1.1 新建插件 227
13.1.2 示例插件 228
13.1.3 插件開發(fā) 230
13.1.4 運(yùn)行插件 235
13.2 Flutter開源庫 236
13.2.1 狀態(tài)管理框架 237
13.2.2 網(wǎng)頁加載 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章 新冠肺炎疫情應(yīng)用 263
14.1 項(xiàng)目搭建 263
14.1.1 搭建主框架 264
14.1.2 入口程序 266
14.1.3 網(wǎng)絡(luò)請(qǐng)求 267
14.1.4 網(wǎng)頁組件封裝 269
14.2 功能開發(fā) 271
14.2.1 首頁模塊開發(fā) 271
14.2.2 疫情地圖模塊開發(fā) 273
14.2.3 權(quán)威辟謠 275
14.2.4 同行程查詢 278
14.2.5 大圖預(yù)覽 281
14.3 異常監(jiān)測與上報(bào) 283
14.3.1 Flutter異!283
14.3.2 異常捕獲 283
14.3.3 異常捕獲示例 285
14.3.4 異常上報(bào) 286
14.4 性能分析與優(yōu)化 289
14.4.1 性能圖層 289
14.4.2 GPU問題分析 290
14.4.3 UI問題分析 292
14.4.4 內(nèi)存優(yōu)化 294
14.5 打包與發(fā)布 295
14.5.1 更換默認(rèn)配置 295
14.5.2 Android應(yīng)用打包 297
14.5.3 iOS應(yīng)用打包 299