新书速览|鸿蒙HarmonyOS NEXT开发之路 卷1:ArkTS语言篇

发布于:2025-02-23 ⋅ 阅读:(19) ⋅ 点赞:(0)

《鸿蒙HarmonyOS NEXT开发之路 卷1:ArkTS语言篇》

1

本书内容

《鸿蒙HarmonyOS NEXT开发之路 卷1:ArkTS语言篇》全面、深入地介绍华为HarmonyOS NEXT操作系统中的ArkTS语言。《鸿蒙HarmonyOS NEXT开发之路 卷1:ArkTS语言篇》分为基础知识、ArkTS进阶和高级特性三部分,引领读者逐步掌握从ArkTS基础到高级特性的开发能力。基础知识部分涵盖ArkTS的核心语法,包括声明式UI、函数、类、接口、泛型类型、空安全和模块化开发,为读者打下坚实的开发基础。ArkTS进阶部分深入探讨ArkTS语言的高级特性和最佳实践,例如高性能编程、声明式UI描述、自定义组件和装饰器,全面提升读者在HarmonyOS NEXT平台上的开发能力。高级特性部分则聚焦于状态管理机制,详细讲解状态变量的声明和管理,以及它们在UI渲染中的实际应用,帮助读者优化应用性能,实现从TypeScript到ArkTS的平滑过渡。

2

本书作者

马剑威

华为开发者专家(HDE)、CSDN 博客专家、华为云云享专家、阿里云开发者社区专家博主、华为开发者学堂鸿蒙生态应用开发高级讲师。

贾振锋

拥有12年软件开发和移动端研发经验,以及企业内训和咨询经验。双一流、211高校外聘技术专家,HarmonyOS应用开发者高级讲师。

3

本书读者

《鸿蒙HarmonyOS NEXT开发之路 卷1:ArkTS语言篇》为有志于掌握HarmonyOS NEXT应用开发的读者提供系统性学习资源,从语法讲解到性能优化全面覆盖,可以作为读者学习ArkTS语言和开发HarmonyOS应用的参考教材。

4

本书目录

第一部分  基础知识

第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 Studio8

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  初识ArkTS26

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和setter65

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  public72

4.5.2  private72

4.5.3  protected73

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  wrapBuilder156

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  stateStyle166

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

5

本书特色

本文摘自《鸿蒙HarmonyOS NEXT开发之路 卷1:ArkTS语言篇》,获出版社和作者授权发布。

鸿蒙HarmonyOS NEXT开发之路 卷1:ArkTS语言篇——jd