Flutter跨平臺(tái)開(kāi)發(fā)入門(mén)與實(shí)戰(zhàn)
定 價(jià):79 元
- 作者:向治洪
- 出版時(shí)間:2021/1/1
- ISBN:9787115551443
- 出 版 社:人民郵電出版社
- 中圖法分類(lèi):TN929.53
- 頁(yè)碼:301
- 紙張:
- 版次:01
- 開(kāi)本:16開(kāi)
本書(shū)共 14 章,涵蓋 Flutter 跨平臺(tái)開(kāi)發(fā)所需的各方面知識(shí),循序漸進(jìn)的講解有助于讀者更深入地學(xué)習(xí)Flutter 知識(shí)。
第1章~第 8 章介紹 Flutter 的入門(mén)與基礎(chǔ)知識(shí),主要由 Flutter 概述、Flutter 快速入門(mén)、Dart 基礎(chǔ)、Flutter組件基礎(chǔ)、Flutter 頁(yè)面布局、高級(jí)組件、事件處理,以及動(dòng)畫(huà)等知識(shí)組成。第 9 章~第 13 章介紹進(jìn)階知識(shí),主要由路由與導(dǎo)航、網(wǎng)絡(luò)與通信、混合開(kāi)發(fā),以及插件開(kāi)發(fā)與熱更新等組成,介紹 Flutter 跨平臺(tái)開(kāi)發(fā)中的相關(guān)技巧,也是Flutter 跨平臺(tái)開(kāi)發(fā)必須掌握的內(nèi)容。第 14 章主要由 Flutter 項(xiàng)目實(shí)戰(zhàn)組成,介紹對(duì) Flutter 基礎(chǔ)知識(shí)的綜合運(yùn)用,通過(guò)對(duì)此實(shí)戰(zhàn)項(xiàng)目的學(xué)習(xí),讀者將會(huì)對(duì) Flutter 框架有更加全面和深入的理解。
本書(shū)適合移動(dòng) Android.ios 開(kāi)發(fā)人員,前端開(kāi)發(fā)人員以及對(duì)移動(dòng)開(kāi)發(fā)感興趣的讀者閱讀。
基于最新的Flutter 1.17.0版本進(jìn)行編寫(xiě),一本書(shū)掌握最新Flutter開(kāi)發(fā)框架!
1.側(cè)重基礎(chǔ),循序漸進(jìn)的學(xué)習(xí)線路
本書(shū)涵蓋 Flutter 跨平臺(tái)開(kāi)發(fā)所需的各方面知識(shí),并且對(duì)知識(shí)和技術(shù)要點(diǎn)由淺入深地進(jìn)行講解,非常適合初學(xué)者。
2.大量項(xiàng)目實(shí)例,內(nèi)容翔實(shí)
本書(shū)在講解 Flutter 的各個(gè)知識(shí)點(diǎn)時(shí),運(yùn)用了大量的實(shí)例并配有運(yùn)行效果圖。讀者在自行練習(xí)時(shí)可以先編寫(xiě)代碼,而后對(duì)照效果圖運(yùn)行效果。
3.實(shí)例貼近實(shí)際開(kāi)發(fā)場(chǎng)景
本書(shū)采用的實(shí)例,大多貼近實(shí)際開(kāi)發(fā)場(chǎng)景,通俗易懂的文字描述也有助于讀者理解。
祁寧 SegmentFault 思否 CTO
作者這些年來(lái)分享了很多關(guān)于 Flutter 跨平臺(tái)技術(shù)的優(yōu)秀內(nèi)容,這本書(shū)也是他準(zhǔn)備良久的精心之作。Flutter 技術(shù)代表移動(dòng)端編程的一大趨勢(shì),如果你想了解并掌握這項(xiàng)技術(shù),非常有必要讀讀這本書(shū)。
向治洪,嗶哩嗶哩資深工程師,大前端專(zhuān)家,技術(shù)達(dá)人,曾出版《React Native移動(dòng)開(kāi)發(fā)實(shí)戰(zhàn)》《Kotlin入門(mén)與實(shí)戰(zhàn)》《Weex跨平臺(tái)開(kāi)發(fā)與實(shí)戰(zhàn)》以及《React Native開(kāi)發(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快速入門(mén) 5
2.1 開(kāi)發(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開(kāi)發(fā)環(huán)境 9
2.2 開(kāi)發(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入門(mén) 18
2.5 Flutter升級(jí) 19
2.6 Flutter包管理 20
第3章 Dart基礎(chǔ) 22
3.1 Dart入門(mén) 22
3.1.1 Dart安裝與升級(jí) 22
3.1.2 編寫(xiě)Hello World 23
3.2 Dart基礎(chǔ)知識(shí) 23
3.2.1 變量與常量 23
3.2.2 內(nèi)置數(shù)據(jù)類(lèi)型 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 流程控制語(yǔ)句 31
3.6 異!33
3.6.1 拋出異!33
3.6.2 捕獲異!33
3.6.3 finally 34
3.7 類(lèi) 34
3.7.1 類(lèi)的成員變量 34
3.7.2 構(gòu)造函數(shù) 35
3.7.3 繼承類(lèi) 36
3.7.4 抽象類(lèi) 36
3.7.5 枚舉類(lèi) 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頁(yè)面布局 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ì)識(shí)別組件 114
7.2.1 基本用法 114
7.2.2 常用事件 115
7.2.3 拖曳與縮放 116
7.2.4 手勢(shì)識(shí)別器 118
7.2.5 手勢(shì)競(jìng)爭(zhēng)與沖突 120
7.3 事件總線 122
7.4 事件通知 124
7.4.1 基本用法 124
7.4.2 自定義通知 125
7.4.3 通知冒泡原理 127
第8章 動(dòng)畫(huà) 128
8.1 動(dòng)畫(huà)基礎(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)畫(huà)組件 134
8.2.1 基本用法 134
8.2.2 AnimatedWidget 136
8.2.3 AnimatedBuilder 137
8.3 轉(zhuǎn)場(chǎng)動(dòng)畫(huà) 138
8.4 交錯(cuò)動(dòng)畫(huà) 141
8.5 Flare動(dòng)畫(huà) 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 路由棧簡(jiǎn)介 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 自定義路由簡(jiǎn)介 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ù)庫(kù)存儲(chǔ) 193
11.3 文件存儲(chǔ) 198
第 12章 混合開(kāi)發(fā) 201
12.1 混合開(kāi)發(fā)簡(jiǎn)介 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 原生頁(yè)面跳轉(zhuǎn)至Flutter頁(yè)面 217
12.4.3 Flutter頁(yè)面跳轉(zhuǎn)至原生頁(yè)面 218
12.5 FlutterBoost 222
12.5.1 FlutterBoost集成 222
12.5.2 FlutterBoost框架結(jié)構(gòu) 225
第 13章 插件開(kāi)發(fā)與熱更新 227
13.1 Flutter插件開(kāi)發(fā) 227
13.1.1 新建插件 227
13.1.2 示例插件 228
13.1.3 插件開(kāi)發(fā) 230
13.1.4 運(yùn)行插件 235
13.2 Flutter開(kāi)源庫(kù) 236
13.2.1 狀態(tài)管理框架 237
13.2.2 網(wǎng)頁(yè)加載 241
13.2.3 下拉刷新 244
13.2.4 屏幕適配 247
13.2.5 消息推送 249
13.3 Flutter熱更新 255
13.3.1 熱更新簡(jiǎn)介 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)頁(yè)組件封裝 269
14.2 功能開(kāi)發(fā) 271
14.2.1 首頁(yè)模塊開(kāi)發(fā) 271
14.2.2 疫情地圖模塊開(kāi)發(fā) 273
14.2.3 權(quán)威辟謠 275
14.2.4 同行程查詢(xún) 278
14.2.5 大圖預(yù)覽 281
14.3 異常監(jiān)測(cè)與上報(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問(wèn)題分析 290
14.4.3 UI問(wèn)題分析 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