鴻蒙HarmonyOS NEXT開發之路 捲1:ArkTS語言篇

馬劍威、賈振鋒

  • 出版商: 清華大學
  • 出版日期: 2025-03-01
  • 售價: $539
  • 貴賓價: 9.5$512
  • 語言: 簡體中文
  • 頁數: 326
  • ISBN: 7302679630
  • ISBN-13: 9787302679639
  • 立即出貨 (庫存 < 4)

  • 鴻蒙HarmonyOS NEXT開發之路 捲1:ArkTS語言篇-preview-1
  • 鴻蒙HarmonyOS NEXT開發之路 捲1:ArkTS語言篇-preview-2
  • 鴻蒙HarmonyOS NEXT開發之路 捲1:ArkTS語言篇-preview-3
鴻蒙HarmonyOS NEXT開發之路 捲1:ArkTS語言篇-preview-1

商品描述

"《鴻蒙HarmonyOS NEXT開發之路 捲1:ArkTS語言篇》全面、深入地介紹華為HarmonyOS NEXT操作系統中的ArkTS語言。《鴻蒙HarmonyOS NEXT開發之路 捲1:ArkTS語言篇》分為基礎知識、ArkTS進階和高級特性三部分,引領讀者逐步掌握從ArkTS基礎到高級特性的開發能力。基礎知識部分涵蓋ArkTS的核心語法,包括聲明式UI、函數、類、接口、泛型類型、空安全和模塊化開發,為讀者打下堅實的開發基礎。ArkTS進階部分深入探討ArkTS語言的高級特性和**實踐,例如高性能編程、聲明式UI描述、自定義組件和裝飾器,全面提升讀者在HarmonyOS NEXT平臺上的開發能力。高級特性部分則聚焦於狀態管理機制,詳細講解狀態變量的聲明和管理,以及它們在UI渲染中的實際應用,幫助讀者優化應用性能,實現從TypeScript到ArkTS的平滑過渡。 《鴻蒙HarmonyOS NEXT開發之路 捲1:ArkTS語言篇》為有志於掌握HarmonyOS NEXT應用開發的讀者提供系統性學習資源,從語法講解到性能優化全面覆蓋,可以作為讀者學習ArkTS語言和開發HarmonyOS應用的參考教材。"

作者簡介

馬劍威,華為開發者專家(HDE)、CSDN博客專家、華為雲雲享專家、阿裡雲開發者社區專家博主、華為開發者學堂鴻蒙生態應用開發高級講師。

目錄大綱

目    錄

 

第一部分  基礎知識

第1章  ArkTS聲明式UI開發規範 3

1.1  HarmonyOS NEXT的介紹與特點 3

1.1.1  HarmonyOS NEXT概覽 3

1.1.2  核心亮點 3

1.1.3  深遠影響 4

1.1.4  開發者機遇 4

1.2  整體架構 5

1.3  開發流程 7

1.4  通用規則 7

1.5  開發環境搭建 7

1.5.1  概述 8

1.5.2  工具準備 8

1.5.3  安裝DevEco Studio 8

1.5.4  診斷開發環境 11

1.5.5  啟用中文化插件 11

1.6  編寫HarmonyOS入門程序 12

1.6.1  案例說明 12

1.6.2  創建ArkTS工程 13

1.6.3  ArkTS工程目錄結構(Stage模型) 14

1.6.4  構建第一個頁面 16

1.6.5  構建第二個頁面 18

1.6.6  實現頁面間的跳轉 21

1.7  本章小結 24

1.8  本章習題 25

第2章  ArkTS基本知識 26

2.1  初識ArkTS 26

2.2  DevEco Studio的使用 27

2.2.1  新建工程 28

2.2.2  自動化測試框架 29

2.2.3  環境準備 30

2.2.4  新建和編寫測試腳本 30

2.2.5  DevEco Studio執行測試腳本 32

2.2.6  查看測試結果 35

2.3  ArkTS的基本語法規則 36

2.3.1  聲明 36

2.3.2  自動類型推斷 36

2.3.3  類型 37

2.3.4  運算符 42

2.3.5  語句 44

2.4  本章小結 52

2.5  本章習題 53

第3章  函數 54

3.1  函數聲明 54

3.2  可選參數 55

3.3  rest參數 56

3.4  返回類型 56

3.5  函數的作用域 57

3.6  函數的調用 58

3.7  函數類型 58

3.8  箭頭函數或Lambda函數 59

3.9  閉包 59

3.10  函數重載 60

3.11  本章小結 61

3.12  本章習題 61

第4章  類和對象 62

4.1  字段 63

4.1.1  實例字段 63

4.1.2  靜態字段 63

4.1.3  字段初始化 64

4.1.4  getter和setter 65

4.2  方法 66

4.2.1  實例方法 66

4.2.2  靜態方法 67

4.3  類的繼承 67

4.3.1  繼承 67

4.3.2  父類訪問 68

4.3.3  方法重寫 69

4.3.4  重載簽名的方法 70

4.4  構造函數 70

4.4.1  基本構造函數 70

4.4.2  子類的構造函數 71

4.4.3  重載簽名的構造函數 71

4.5  可見性修飾符 72

4.5.1  public 72

4.5.2  private 72

4.5.3  protected 73

4.6  對象變量 73

4.7  其他 75

4.8  本章小結 76

4.9  本章習題 76

第5章  接口 78

5.1  接口初探 79

5.2  可選屬性 80

5.3  只讀屬性 81

5.4  實現接口 83

5.5  繼承接口 85

5.6  類型系統 87

5.7  本章小結 87

5.8  本章習題 88

第6章  泛型類型 89

6.1  泛型類和接口 89

6.2  泛型約束 90

6.3  泛型函數 91

6.4  泛型默認值 92

6.5  本章小結 92

6.6  本章習題 93

第7章  空安全 94

7.1  非空斷言運算符 94

7.2  空值合並運算符 95

7.3  可選鏈 95

7.4  本章小結 96

7.5  本章習題 97

第8章  模塊 98

8.1  模塊化介紹 98

8.2  ArkTS的模塊化 98

8.2.1  ArkTS支持的模塊化標準 99

8.2.2  ArkTS支持加載的模塊類型 100

8.2.3  模塊化運行加載流程 100

8.3  導出 101

8.4  導入 102

8.4.1  靜態導入 102

8.4.2  動態導入 103

8.4.3  導入HarmonyOS SDK的開放能力 104

8.5  頂層語句 104

8.6  本章小結 105

8.7  本章習題 106

第二部分  ArkTS進階

第9章  ArkTS高性能最佳實踐 109

9.1  聲明與表達式的使用 109

9.2  函數的性能提升 111

9.3  數組的性能提升 112

9.4  異常的處理 114

9.5  本章小結 115

9.6  本章習題 115

第10章  聲明式UI描述 116

10.1  創建組件 116

10.1.1  無參數創建組件 117

10.1.2  有參數創建組件 117

10.2  配置屬性 118

10.3  配置事件 118

10.4  配置子組件 120

10.5  本章小結 120

10.6  本章習題 121

第11章  自定義組件 122

11.1  創建自定義組件 122

11.1.1  自定義組件的基本用法 122

11.1.2  自定義組件的基本結構 124

11.1.3  成員函數/變量 125

11.1.4  自定義組件的參數規定 126

11.1.5  build()函數 127

11.1.6  自定義組件通用樣式 131

11.2  頁面和自定義組件生命周期 131

11.2.1  自定義組件的創建和渲染流程 132

11.2.2  自定義組件重新渲染 133

11.2.3  自定義組件的刪除 133

11.2.4  自定義組件監聽頁面生命周期 136

11.3  自定義組件的自定義佈局 138

11.4  自定義組件成員屬性訪問限定符的使用限制 139

11.4.1  使用限制 140

11.4.2  錯誤使用場景示例 140

11.5  本章小結 144

11.6  本章習題 145

第12章  裝飾器 146

12.1  @Builder裝飾器 146

12.1.1  自定義構建函數 146

12.1.2  參數傳遞 147

12.2  @BuilderParam裝飾器 150

12.2.1  裝飾器使用說明 151

12.2.2  使用場景 153

12.3  wrapBuilder 156

12.3.1  接口說明 157

12.3.2  使用場景 157

12.4  @Style裝飾器 159

12.4.1  裝飾器使用說明 160

12.4.2  使用場景 161

12.5  @Extend裝飾器 162

12.5.1  裝飾器使用說明 162

12.5.2  使用場景 164

12.6  stateStyle 166

12.6.1  概述 166

12.6.2  使用場景 166

12.7  @AnimatableExtend裝飾器 171

12.7.1  裝飾器使用說明 171

12.7.2  使用場景 172

12.8  @Require裝飾器 175

12.8.1  裝飾器使用說明 176

12.8.2  使用場景 176

12.9  本章小結 177

12.10  本章習題 178

第三部分  ArkTS高級特性

第13章  狀態管理 181

13.1  狀態管理概述 181

13.1.1  基本概念 181

13.1.2  狀態管理 182

13.2  @State裝飾器:組件內狀態 184

13.2.1  概述 184

13.2.2  裝飾器使用規則說明 185

13.2.3  變量的傳遞/訪問規則說明 185

13.2.4  觀察變化和行為表現 186

13.3  @Prop裝飾器:父子間同步 190

13.3.1  概述 190

13.3.2  裝飾器使用規則說明 190

13.3.3  變量的傳遞和訪問規則說明 191

13.3.4  觀察變化和行為表現 192

13.4  @Link裝飾器:父子組件雙向同步 196

13.4.1  概述 196

13.4.2  裝飾器使用規則說明 196

13.4.3  變量的傳遞和訪問規則說明 196

13.4.4  觀察變化和行為表現 197

13.5  @Provide裝飾器和@Consume裝飾器:與後代組件雙向同步 200

13.5.1  概述 200

13.5.2  裝飾器使用規則說明 201

13.5.3  變量的傳遞和訪問規則說明 202

13.5.4  觀察變化和行為表現 203

13.6  @Observed裝飾器和@ObjectLink裝飾器:嵌套類對象的屬性變化 205

13.6.1  概述 205

13.6.2  裝飾器使用規則說明 206

13.6.3  變量的傳遞和訪問規則說明 207

13.6.4  觀察變化和行為表現 207

13.7  LocalStorage:頁面級UI狀態存儲 210

13.7.1  概述 211

13.7.2  @LocalStorageProp裝飾器 211

13.7.3  @LocalStorageLink裝飾器 214

13.8  AppStorage:應用全局的UI狀態存儲 216

13.8.1  概述 216

13.8.2  @StorageProp裝飾器 216

13.8.3  @StorageLink裝飾器 219

13.9  PersistentStorage:持久化存儲UI狀態 220

13.9.1  概述 221

13.9.2  限制條件 221

13.10  Environment:設備環境查詢 222

13.10.1  概述 222

13.10.2  Environment內置參數 222

13.11  其他狀態管理 224

13.11.1  @Watch裝飾器:狀態變量更改通知 225

13.11.2  $$運算符:內置組件雙向同步 226

13.11.3  @Track裝飾器:class對象屬性級更新 228

13.12  MVVM模式 231

13.12.1  概述 231

13.12.2  ViewModel的數據源 233

13.12.3  ViewModel的嵌套場景 244

13.12.4  MVVM應用示例 249

13.13  本章小結 262

13.14  本章習題 263

第14章  渲染控制 264

14.1  if/else條件渲染 264

14.1.1  使用規則 264

14.1.2  更新機制 265

14.1.3  使用場景 265

14.2  ForEach循環渲染 270

14.2.1  接口描述 270

14.2.2  鍵值生成規則 271

14.2.3  組件創建規則 272

14.2.4  使用場景 275

14.2.5  使用建議 282

14.3  LazyForEach數據懶加載 283

14.3.1  接口描述 283

14.3.2  IDataSource類型說明 284

14.3.3  DataChangeListener類型說明 284

14.3.4  DataOperation類型說明 285

14.3.5  使用限制 287

14.3.6  鍵值生成規則 288

14.3.7  組件創建規則 288

14.4  Repeat循環渲染 308

14.4.1  接口描述 308

14.4.2  鍵值生成規則 309

14.4.3  組件創建規則 310

14.5  本章小結 316

14.6  本章習題 317

第15章  從TypeScript到ArkTS的適配 318

15.1  程序穩定性 318

15.2  程序性能 321

15.3  .ets代碼兼容性 322

15.4  兼容TypeScript/JavaScript的約束 323

15.5  本章小結 326

15.6  本章習題 326