用Flutter極速構建原生套用

用Flutter極速構建原生套用

《用Flutter極速構建原生套用》2019年11月清華大學出版社出版的圖書,作者是張益琿。

基本介紹

  • 中文名:用Flutter極速構建原生套用
  • 作者:張益琿
  • 出版社:清華大學出版社
  • 出版時間:2019年11月
  • 定價:69 元
  • ISBN:9787302539049
內容簡介,圖書目錄,

內容簡介

本書從入門到實踐對谷歌移動UI框架Flutter套用進行了全面的介紹。本書從邏輯上可以分為四部分。第一部分(第1~3章)從開發環境的搭建入手,主要介紹Dart語言基礎與高級套用,從基礎語法到函式、泛型、異步編程、模組使用等高級內容。第二部分(第4、5章)主要介紹Flutter的核心組件,除了介紹開發Flutter套用必備的圖片、文本、圖示、按鈕等基礎組件外,還詳細介紹了表單組件、布局技術、互動組件、組件的繪製與修飾、可滾動組件等高級內容。第三部分(第6、7章)重點介紹了Flutter的動畫與手勢、網路技術及數據解析等內容。第四部分(第8~10章)主要演示了兩個完整案例的開發過程,包括新聞客戶端的開發和遊戲開發,此外,還介紹了如何將Flutter套用於iOS、Android項目及Web應用程式,旨在幫助讀者將Flutter快速套用於自己的實際項目。
為使讀者高效地掌握本書內容,本書作者還特別錄製了Dark語言的教學視頻,並提供了完整示例的原始碼,讀者可從本書提供的網站自行下載使用。
本書實例豐富,注重套用,適合移動開發人員、對跨平台感興趣的大學生和培訓機構的學員使用。

圖書目錄

第1章 Flutter開發環境搭建 1
1.1 認識Flutter 1
1.1.1 Flutter的前世今生與套用場景 2
1.1.2 安裝Flutter開發框架 2
1.2 配置iOS開發環境 3
1.2.1 進行AppID的申請 4
1.2.2 獲取Xcode開發工具 4
1.3 配置Android開發環境 5
1.3.1 獲取Android Studio開發工具 5
1.3.2 為Android Studio添加Flutter外掛程式 7
1.4 你的第一個Flutter套用 9
第2章 Dart語言基礎 12
2.1 Dart開發環境搭建 13
2.1.1 安裝Dart SDK 13
2.1.2 配置Dart編輯器 14
2.2 Dart中的變數 17
2.2.1 使用變數 17
2.2.2 不可變變數 18
2.3 Dart中的內置數據類型 18
2.3.1 數值類型 18
2.3.2 字元串類型 21
2.3.3 布爾類型 23
2.3.4 列表類型 23
2.3.5 字典類型 25
2.4 Dart中的運算符 26
2.4.1 算數運算符 27
2.4.2 比較運算符 28
2.4.3 類型運算符 28
2.4.4 複合運算符 29
2.4.5 邏輯運算符 29
2.4.6 位運算符 30
2.4.7 條件運算符 31
2.4.8 級聯運算符 32
2.4.9 點運算符 33
2.5 Dart中的流程控制語句 33
2.5.1 條件分支語句 33
2.5.2 循環語句 35
2.5.3 中斷語句 36
2.5.4 多分支選擇語句 37
2.5.5 異常處理 39
第3章 Dart高級進階 42
3.1 使用函式 43
3.1.1 關於main函式 43
3.1.2 自定義函式 43
3.1.3 定義可選參數的函式 45
3.1.4 函式可選參數的默認值 46
3.1.5 匿名函式 47
3.1.6 詞法作用域 47
3.1.7 關於閉包 48
3.2 Dart中的類 49
3.2.1 自定義類與構造方法 49
3.2.2 實例方法 51
3.2.3 抽象類與抽象方法 53
3.2.4 類的繼承 54
3.2.5 運算符重載 55
3.2.6 noSuchMethod方法 56
3.2.7 枚舉類型 57
3.2.8 擴展類的功能——Mixin特性 58
3.2.9 類屬性與類方法 61
3.3 泛型 61
3.3.1 使用泛型 62
3.3.2 約束泛型與泛型函式 63
3.4 異步編程技術 64
3.4.1 async與await關鍵字 64
3.4.2 異步與回調 65
3.4.3 使用Future對象 66
3.5 模組的使用 67
3.5.1 模組的套用 67
3.5.2 模組命名 68
3.6 可調用類與注釋 69
3.6.1 可調用類 69
3.6.2 關於注釋 69
第4章 Flutter基礎組件 71
4.1 Image圖片組件的套用 71
4.1.1 圖片資源的載入 72
4.1.2 Image組件的屬性配置 73
4.1.3 關於Alignment對象 75
4.1.4 關於BoxFit對象 75
4.1.5 關於ImageRepeat對象 76
4.2 Text文本組件的套用 76
4.2.1 使用Text組件 76
4.2.2 自定義文本風格 77
4.3 Icon圖示組件的套用 78
4.3.1 使用Icon組件 79
4.3.2 Flutter內置的Icon樣式 79
4.4 按鈕相關組件的套用 80
4.4.1 按鈕組件的基類MaterialButton 81
4.4.2 RaisedButton的套用 81
4.4.3 FlatButton的套用 81
4.4.4 下拉選擇按鈕DropdownButton組件的套用 82
4.4.5 懸浮按鈕組件的套用 84
4.4.6 圖示按鈕IconButton組件的套用 85
4.5 界面腳手架Scaffold組件 86
4.5.1 Scaffold組件概覽 86
4.5.2 Scaffold屬性使用示例 86
4.5.3 AppBar組件的套用 87
4.5.4 使用ButtomNavigationBar組件 88
4.6 FlutterLogo組件的套用 90
4.7 Placeholder占位符組件的套用 91
4.8 單組件布局容器組件的套用 91
4.8.1 Container容器組件 91
4.8.2 Padding容器組件 95
4.8.3 Center容器組件 95
4.8.4 Align容器組件 96
4.8.5 FittedBox容器組件 97
4.8.6 AspectRatio容器組件 97
4.8.7 ConstrainedBox容器組件 98
4.8.8 IntrinsicHeight與IntrinsicWidth容器 98
4.8.9 LimitedBox容器 99
4.8.10 Offstage容器 99
4.8.11 OverflowBox容器 99
4.8.12 SizeBox容器 100
4.8.13 Transform容器組件 100
4.9 多組件布局容器組件的套用 101
4.9.1 Row容器組件 101
4.9.2 Column容器組件 102
4.9.3 Flex與Expanded組件 103
4.9.4 Stack與Positioned容器組件 104
4.9.5 IndexedStack容器組件 105
4.9.6 Wrap容器組件 106
4.9.7 更多內容可滾動的布局容器 107
第5章 Flutter組件進階 108
5.1 表單組件的套用 108
5.1.1 關於表單容器 108
5.1.2 TextFormField詳解 109
5.1.3 關於InputDecoration類 112
5.1.4 下拉選擇框DropdownButtonFormField組件的套用 113
5.1.5 RawKeyboardListener自定義組件接收鍵盤事件 113
5.2 Flutter布局技術 114
5.2.1 再看Container容器組件 114
5.2.2 Padding布局 116
5.2.3 Center布局 117
5.2.4 FittedBox布局 118
5.2.5 ConstrainedBox布局 118
5.2.6 抽屜布局 119
5.3 高級用戶互動組件 120
5.3.1 複選按鈕Checkbox組件 120
5.3.2 單選按鈕Radio組件 121
5.3.3 切換按鈕Switch組件 122
5.3.4 滑塊按鈕Slider組件的套用 123
5.3.5 日期時間選擇彈窗 124
5.3.6 各種樣式的彈窗組件 127
5.3.7 擴展面板組件的套用 130
5.3.8 按鈕組相關組件 131
5.3.9 Card組件 133
5.3.10 指示類視圖組件 135
5.4 對組件進行繪製與修飾 136
5.4.1 Opacity組件 136
5.4.2 DecoratedBox組件 137
5.4.3 裁剪相關組件 137
5.4.4 CustomPaint組件 140
5.5 內容可滾動組件 144
5.5.1 GridView組件的套用 144
5.5.2 ListView組件的套用 148
5.5.3 SingleChildScrollView組件的套用 148
5.5.4 Table組件的套用 149
5.5.5 Flow流式布局組件 150
第6章 動畫與手勢 152
6.1 補間動畫的套用 152
6.1.1 關於Animation對象 153
6.1.2 AnimationController動畫控制器 153
6.1.3 Tween補間對象 154
6.1.4 線性動畫與曲線動畫 158
6.1.5 Curve時間曲線函式 159
6.1.6 動畫組件 161
6.1.7 同時執行多個動畫 162
6.1.8 更多補間動畫 163
6.2 物理動畫的套用 164
6.2.1 摩擦減速動畫示例 164
6.2.2 彈簧減速動畫示例 166
6.2.3 重力動畫示例 167
6.3 列表動畫 168
6.3.1 關於AnimatedList類 168
6.3.2 進行列表操作動畫 168
6.4 使用幀動畫 170
6.4.1 一個簡單的幀動畫示例 170
6.4.2 GIF圖——另一種幀動畫 172
6.5 共享元素的動畫 173
6.5.1 共享元素動畫示例 173
6.5.2 關於Hero對象 175
6.6 Lottie動畫 175
6.6.1 引入lottie_flutter外掛程式 175
6.6.2 使用Lottie動畫 176
6.7 Flare動畫 178
6.7.1 引入Flare外掛程式 178
6.7.2 使用Flare動畫 179
6.8 手勢互動 180
6.8.1 觸摸事件 180
6.8.2 手勢事件 182
6.8.3 下拉刷新與上拉載入 183
第7章 網路技術與數據解析 185
7.1 Flutter中的網路技術 186
7.1.1 使用網際網路上的接口服務 186
7.1.2 使用HTTPClient進行網路請求 187
7.1.3 HttpClient相關方法 188
7.1.4 關於HttpClientRequest請求對象 190
7.1.5 關於HttpClientResponse回執對象 191
7.1.6 請求方法 192
7.2 JSON數據解析 193
7.2.1 手動解析JSON數據 193
7.2.2 將網路數據渲染到頁面 194
7.3 數據持久化存儲 197
7.3.1 外掛程式的使用 197
7.3.2 使用shared_preferences外掛程式 199
7.3.3 進行檔案的讀寫 201
7.4 Flutter中的頁面切換 203
7.4.1 使用Navigator進行頁面跳轉 203
7.4.2 正向頁面傳值 205
7.4.3 反向頁面傳值 208
第8章 用Flutter進行新聞客戶端的開發 210
8.1 新聞客戶端需求分析與開發前的準備 210
8.1.1 新聞客戶端套用需要具備的功能 210
8.1.2 開發前的技術準備 211
8.1.3 套用項目搭建 212
8.2 新聞客戶端主頁的開發 215
8.2.1 搭建首頁框架 215
8.2.2 “熱門新聞”頁面開發 217
8.2.3 開發下拉刷新與上拉載入更多功能 220
8.3 首頁網路請求與數據填充 223
8.3.1 進行首頁數據請求 223
8.3.2 定義數據模型與數據解析 224
8.3.3 填充首頁數據 226
8.4 分類模組的開發 229
8.4.1 新聞分類主頁開發 229
8.4.2 開發分類列表 231
8.5 新聞詳情頁開發 236
8.5.1 使用flutter_native_web外掛程式進行網頁渲染 236
8.5.2 添加收藏功能 239
8.5.3 實現收藏列表 241
第9章 用Flutter開發“棍子傳奇”小遊戲 245
9.1 遊戲開始頁面開發 245
9.1.1 在Flutter中引入自定義字型 245
9.1.2 遊戲首頁的搭建 246
9.2 遊戲核心邏輯開發 251
9.2.1 “棍子”道具開發 252
9.2.2 英雄移動與勝負判定 253
9.2.3 遊戲的循環機制 257
9.2.4 對遊戲進行計分 259
9.2.5 遊戲的重開 259
9.3 對遊戲體驗進行最佳化 261
9.3.1 為遊戲添加音效 261
9.3.2 修改套用圖示 262
9.3.3 更多可最佳化的方向 264
第10章 將Flutter用於iOS、Android項目和Web應用程式 265
10.1 將Flutter模組植入已有的iOS工程中 265
10.1.1 將Flutter模組集成進iOS原生項目 265
10.1.2 在iOS原生工程中打開Flutter頁面 268
10.2 將Flutter模組植入已有的Android工程中 270
10.2.1 集成Flutter模組到Android原生項目 270
10.2.2 在Android原生頁面中打開Flutter頁面 274
10.3 使用Flutter開發Web應用程式 275
10.3.1 運行第一個Flutter Web應用程式 276
10.3.2 將Flutter移動端工程修改為Web應用程式 277

相關詞條

熱門詞條

聯絡我們