Flutter 跨平臺開發實戰

向治洪

  • 出版商: 清華大學
  • 出版日期: 2024-03-01
  • 售價: $414
  • 貴賓價: 9.5$393
  • 語言: 簡體中文
  • ISBN: 7302657777
  • ISBN-13: 9787302657774
  • 相關分類: Flutter
  • 立即出貨 (庫存 < 4)

  • Flutter 跨平臺開發實戰-preview-1
  • Flutter 跨平臺開發實戰-preview-2
  • Flutter 跨平臺開發實戰-preview-3
Flutter 跨平臺開發實戰-preview-1

買這商品的人也買了...

商品描述

本書是一本全面介紹Flutter跨平臺框架的書籍,主要分為入門,進階和實戰三部分,細分為13章。入門篇包括背景知識、環境搭建、基礎語法、組件和API等;進階篇包括網絡通信、第三方插件、熱更新和應用打包發布等;實戰篇則是一個綜合的開發案例,讓讀者快速的上手項目開發。每個階段的知識都是層層深入且環環相扣的,能夠幫助讀者對Flutter框架的原理與應用有一個全面的認識。 本書適合具有一定Android/iOS原生開發基礎的一線APP開發工程師、大中專院校相關專業師生、培訓班學員學習,可用於夯實基礎,提Flutter開發實戰技能。

目錄大綱

目錄

Contents

第1章 初識Flutter1

1.1  Flutter簡介 1

1.1.1 Flutter誕生歷史2

1.1.2 Flutter優勢2

1.1.3 Flutter版本3

1.2  Flutter框架 4

1.2.1 Flutter Framework4

1.2.2 Flutter Engine5

1.2.3 Flutter Embedder5

第2章 Flutter快速上手6

2.1  Flutter環境搭建 6

2.1.1 Android環境6

2.1.2 iOS環境8

2.1.3 獲取Flutter SDK9

2.2  開發工具 10

2.2.1 VS Code10

2.2.2 Android Studio11

2.3  Flutter項目示例 12

2.3.1 初始化項目13

2.3.2 項目結構14

2.3.3 運行項目14

2.3.4 程序調試15

2.3.5 體驗熱重載16

2.3.6 包管理17

2.4  習題 19

第3章 Dart語言基礎20

3.1  Dart入門 20

3.1.1 安裝Dart SDK20

3.1.2 編寫Hello World21

3.2  變量與常量 21

3.2.1 變量21

3.2.2 常量22

3.3  內置類型 22

3.3.1 數值類型22

3.3.2 字符串類型23

3.3.3 布爾類型23

3.3.4 數組23

3.3.5 集合24

3.3.6 Map24

3.3.7 Runes25

3.3.8 Symbols25

3.4  函數 25

3.4.1 參數26

3.4.2 main()函數26

3.4.3 匿名函數26

3.4.4 閉包函數27

3.4.5 返回值27

3.5  類 28

3.5.1 類的成員28

3.5.2 構造函數28

3.5.3 接口與抽象類29

3.6  空安全 29

3.6.1 啟用空安全29

3.6.2 空和非空30

3.6.3 空斷言操作符30

3.6.4 類型提升30

3.6.5 late關鍵字31

3.7  異步編程 31

3.7.1 同步和異步編程31

3.7.2 Isolate32

3.7.3 Future33

3.7.4 async/await34

3.7.5 Stream35

3.8  異常 37

3.9  習題 38

第4章 Flutter組件40

4.1  計數器應用 40

4.2  組件基礎知識 41

4.2.1 Widget簡介41

4.2.2 StatelessWidget42

4.2.3 StatefulWidget43

4.2.4 MaterialApp45

4.2.5 State45

4.3  容器組件 47

4.3.1 Container47

4.3.2 Scaffold49

4.3.3 DecoratedBox50

4.4  功能組件 52

4.4.1 Text52

4.4.2 Button53

4.4.3 TextField54

4.4.4 Image56

4.5  佈局開發 58

4.5.1 佈局模型與約束58

4.5.2 線性佈局59

4.5.3 彈性佈局60

4.5.4 流式佈局61

4.5.5 層疊佈局64

4.6  可滾動組件 66

4.6.1 Sliver佈局模型66

4.6.2 SingleChildScrollView67

4.6.3 ListView68

4.6.4 滾動監聽70

4.6.5 PageView73

4.6.6 CustomScrollView75

4.7  習題 78

第5章 事件處理79

5.1  指針事件 79

5.1.1 基本概念79

5.1.2 Listener組件80

5.1.3 忽略指針事件81

5.2  手勢識別 81

5.2.1 基本概念81

5.2.2 常用事件82

5.2.3 手勢識別器83

5.3  手勢競爭與手勢沖突 86

5.3.1 手勢競爭86

5.3.2 手勢沖突87

5.4  事件總線 89

5.5  習題 92

第6章 動畫93

6.1  動畫基礎 93

6.2  動畫API 94

6.2.1 Animation94

6.2.2 AnimationController95

6.2.3 Curve95

6.2.4 Tween96

6.2.5 綜合示例97

6.3  Hero動畫 99

6.4  交織動畫 100

6.5  Rive動畫 103

6.6  習題 108

第7章 路由與導航110

7.1  路由基礎 110

7.1.1 基本概念110

7.1.2 路由使用111

7.1.3 命名路由112

7.1.4 路由傳參113

7.1.5 路由嵌套115

7.2  路由棧管理 116

7.2.1 路由棧簡介116

7.2.2 pushReplacement117

7.2.3 pushAndRemove-Until117

7.2.4 popUntil118

7.3  自定義路由 119

7.3.1 自定義路由動畫119

7.3.2 Fluro120

7.4  習題 123

第8章 網絡編程124

8.1  網絡基礎 124

8.1.1 HTTP124

8.1.2 HTTPS126

8.1.3 GET與POST127

8.2  網絡請求 128

8.2.1 HttpClient128

8.2.2 http129

8.2.3 dio130

8.3  JSON解析 133

8.3.1 手動解析133

8.3.2 自動解析135

8.4  異步編程 137

8.4.1 事件循環137

8.4.2 Isolate139

8.4.3 線程管理143

8.4.4 事件流145

8.4.5 FutrueBuilder146

8.5  習題 148

第9章 數據存儲149

9.1  SharedPreterences存儲 149

9.1.1 基本操作149

9.1.2 綜合示例150

9.2  SQLite存儲 152

9.2.1 基本操作152

9.2.2 數據庫工具類157

9.2.3 綜合示例159

9.3  文件存儲 161

9.3.1 基本概念161

9.3.2 文件操作工具類163

9.3.3 綜合示例164

9.4  習題 168

第10章  主題與國際化169

10.1  應用主題 169

10.1.1 Theme與ThemeData169

10.1.2 全局主題170

10.1.3 局部主題171

10.1.4 主題換膚172

10.2  多語言支持 174

10.2.1 支持國際化174

10.2.2 自定義Delegate176

10.3  Intl國際化 178

10.3.1 安裝Intl插件178

10.3.2 創建語言文件179

10.3.3 實現國際化180

10.4  習題 181

 第11章 混合開發182

11.1  混合開發簡介 182

11.2  集成Flutter 183

11.2.1 Flutter模塊183

11.2.2 原生Android集成Flutter184

11.2.3 原生iOS集成Flutter186

11.2.4 熱重載與調試190

11.3  與原生平臺通信 191

11.3.1 混合工程通信191

11.3.2 BasicMessage-Channel192

11.3.3 MethodChannel195

11.3.4 EventChannel198

11.4  混合路由棧管理 201

11.4.1 混合路由導航201

11.4.2 原生導航到Flutter202

11.4.3 Flutter導航到原生203

11.5  FlutterBoost 206

11.5.1 FlutterBoost簡介206

11.5.2 原生Android集成FlutterBoost206

11.5.3 原生iOS集成FlutterBoost209

11.5.4 路由API211

11.5.5 生命周期函數213

11.6  Flutter插件開發 214

11.6.1 新建插件項目214

11.6.2 示例插件215

11.6.3 插件開發217

11.6.4 運行插件221

11.6.5 發布插件221

11.7  習題 222

 第12章 Flutter Web224

12.1  Flutter Web簡介 224

12.2  Flutter Web實戰 226

12.2.1 項目創建與運行226

12.2.2 調試項目226

12.2.3 打包與部署228

12.3  Flutter Desk實戰 230

12.3.1 Flutter Desk簡介230

12.3.2 Flutter Desk實戰231

12.3.3 Flutter Desk打包232

12.4  Fair動態化 235

12.4.1 Fair簡介235

12.4.2 接入Fair236

12.4.3 熱更新體驗237

12.4.4 熱更新平臺239

12.4.5 熱更新API242

12.4.6 Fair原理244

12.5  習題 246

第13章  書旗小說應用實戰247

13.1  項目背景 247

13.2  項目搭建 248

13.2.1 創建項目248

13.2.2 構建主框架249

13.2.3 網絡請求251

13.2.4 網頁組件251

13.2.5 接入tts253

13.3  書架 254

13.3.1 閱讀記錄254

13.3.2 我的書架255

13.3.3 書架管理257

13.3.4 確認彈框260

13.3.5 推薦圖書列表262

13.4  圖書搜索 263

13.5  書城 266

13.5.1 書城分類266

13.5.2 輪播圖267

13.5.3 圖書分類268

13.6  圖書詳情 270

13.6.1 圖書簡介270

13.6.2 圖書章節271

13.6.3 書友評論272

13.6.4 發布評論274

13.7  閱讀器開發 274

13.7.1 創建操作欄274

13.7.2 閱讀器翻頁276

13.7.3 下拉菜單276

13.7.4 黑白模式277

13.8  性能分析與優化 279

13.8.1 檢測工具279

13.8.2 GPU問題分析281

13.8.3 UI問題分析283

13.8.4  佈局優化284

13.8.5 內存優化285

第14章  打包與發布286

14.1  應用配置 286

14.1.1 配置啟動頁286

14.1.2 更改默認配置288

14.2  Android發布 289

14.2.1 創建簽名文件289

14.2.2 製作簽名包291

14.3  iOS發布 291

14.3.1 加入蘋果開發者計劃291

14.3.2 添加證書配置292

14.3.3 註冊App ID294

14.3.4 使用Xcode打包294

14.3.5 發布iOS包297