Flutter跨平臺開發(fā)入門與實戰(zhàn)
定 價:79 元
- 作者:向治洪
- 出版時間:2021/1/1
- ISBN:9787115551443
- 出 版 社:人民郵電出版社
- 中圖法分類:TN929.53
- 頁碼:301
- 紙張:
- 版次:01
- 開本:16開
本書共 14 章,涵蓋 Flutter 跨平臺開發(fā)所需的各方面知識,循序漸進的講解有助于讀者更深入地學習Flutter 知識。
第1章~第 8 章介紹 Flutter 的入門與基礎知識,主要由 Flutter 概述、Flutter 快速入門、Dart 基礎、Flutter組件基礎、Flutter 頁面布局、高級組件、事件處理,以及動畫等知識組成。第 9 章~第 13 章介紹進階知識,主要由路由與導航、網絡與通信、混合開發(fā),以及插件開發(fā)與熱更新等組成,介紹 Flutter 跨平臺開發(fā)中的相關技巧,也是Flutter 跨平臺開發(fā)必須掌握的內容。第 14 章主要由 Flutter 項目實戰(zhàn)組成,介紹對 Flutter 基礎知識的綜合運用,通過對此實戰(zhàn)項目的學習,讀者將會對 Flutter 框架有更加全面和深入的理解。
本書適合移動 Android.ios 開發(fā)人員,前端開發(fā)人員以及對移動開發(fā)感興趣的讀者閱讀。
基于最新的Flutter 1.17.0版本進行編寫,一本書掌握最新Flutter開發(fā)框架!
1.側重基礎,循序漸進的學習線路
本書涵蓋 Flutter 跨平臺開發(fā)所需的各方面知識,并且對知識和技術要點由淺入深地進行講解,非常適合初學者。
2.大量項目實例,內容翔實
本書在講解 Flutter 的各個知識點時,運用了大量的實例并配有運行效果圖。讀者在自行練習時可以先編寫代碼,而后對照效果圖運行效果。
3.實例貼近實際開發(fā)場景
本書采用的實例,大多貼近實際開發(fā)場景,通俗易懂的文字描述也有助于讀者理解。
祁寧 SegmentFault 思否 CTO
作者這些年來分享了很多關于 Flutter 跨平臺技術的優(yōu)秀內容,這本書也是他準備良久的精心之作。Flutter 技術代表移動端編程的一大趨勢,如果你想了解并掌握這項技術,非常有必要讀讀這本書。
向治洪,嗶哩嗶哩資深工程師,大前端專家,技術達人,曾出版《React Native移動開發(fā)實戰(zhàn)》《Kotlin入門與實戰(zhàn)》《Weex跨平臺開發(fā)與實戰(zhàn)》以及《React Native開發(fā)進階》。
目錄
第 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項目示例 11
2.3.1 創(chuàng)建示例項目 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 狀態(tài)管理基礎知識 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 基礎組件 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 事件循環(huán)機制 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章 混合開發(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模塊調試 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章 插件開發(fā)與熱更新 227
13.1 Flutter插件開發(fā) 227
13.1.1 新建插件 227
13.1.2 示例插件 228
13.1.3 插件開發(fā) 230
13.1.4 運行插件 235
13.2 Flutter開源庫 236
13.2.1 狀態(tài)管理框架 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 功能開發(fā) 271
14.2.1 首頁模塊開發(fā) 271
14.2.2 疫情地圖模塊開發(fā) 273
14.2.3 權威辟謠 275
14.2.4 同行程查詢 278
14.2.5 大圖預覽 281
14.3 異常監(jiān)測與上報 283
14.3.1 Flutter異!283
14.3.2 異常捕獲 283
14.3.3 異常捕獲示例 285
14.3.4 異常上報 286
14.4 性能分析與優(yōu)化 289
14.4.1 性能圖層 289
14.4.2 GPU問題分析 290
14.4.3 UI問題分析 292
14.4.4 內存優(yōu)化 294
14.5 打包與發(fā)布 295
14.5.1 更換默認配置 295
14.5.2 Android應用打包 297
14.5.3 iOS應用打包 299