Bootstrap

全面掌握ArkTS,迈向HarmonyOS NEXT新纪元!

写在前面

华为HarmonyOS NEXT正式开启,ArkTS语言成为鸿蒙应用开发的核心。《鸿蒙HarmonyOS NEXT开发之路 卷1:ArkTS语言篇》 以系统化、实战化的方式,带你深入掌握ArkTS的语法、特性与最佳实践,从零到精通,构建高效流畅的鸿蒙原生应用。

好书推荐

京东链接:https://item.jd.com/14387331.html

00
📌 核心亮点

✅ 全新ArkTS语言——掌握鸿蒙原生开发的官方编程语言
✅ 系统深入解析——语法特性、数据结构、面向对象编程全覆盖
✅ 实战案例驱动——从基础到高级,构建完整鸿蒙应用
✅ 官方生态对接——紧跟HarmonyOS NEXT最新技术趋势

无论你是鸿蒙开发新手,还是移动端开发者转型,本书都将助你快速上手ArkTS,迎接鸿蒙生态新时代!

📖 立即开启鸿蒙开发之路,抢占技术风口!

编辑推荐

《鸿蒙HarmonyOS NEXT开发之路 卷1:ArkTS语言篇》深度剖析ArkTS语言的精髓,涵盖了从基础语法到高级概念的全面内容。作者以丰富的实战经验和教学背景,结合详细的开发环境搭建指南和实用的问题解决技巧,帮助读者系统学习和应用ArkTS语言,轻松驾驭HarmonyOS NEXT应用开发的各个方面。无论是初学者还是有一定经验的开发者,《鸿蒙HarmonyOS NEXT开发之路 卷1:ArkTS语言篇》都是掌握ArkTS语言及其在实际项目中应用的理想指南。

内容简介

《鸿蒙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 博客专家、华为云云享专家、阿里云开发者社区专家博主、华为开发者学堂鸿蒙生态应用开发高级讲师。

贾振锋

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

本书目录

第一部分 基础知识

第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

前言/序言

在数字化浪潮的推动下,全球科技领域正经历着前所未有的变革。我国作为这一变革的积极参与者,不仅在多个科技前沿领域取得了显著成就,更在计算机操作系统这一核心技术领域孕育出了具有自主知识产权的创新成果—鸿蒙系统(HarmonyOS)。这一系统开发成功不仅是国人的骄傲,更是全球技术竞争中的一股新兴力量。

鸿蒙系统的诞生,标志着我国在全球操作系统领域迈出了坚实的一步。凭借其独特的分布式架构、跨平台能力以及对开发者友好的设计理念,它为智能设备带来了全新的使用体验。随着鸿蒙系统的不断迭代和完善,它已成为连接亿万用户与智能生活的桥梁。

华为公司于2024年10月22日在深圳正式发布了原生鸿蒙系统(HarmonyOS NEXT)。HarmonyOS NEXT实现了系统底座的完全自主研发,具有完全自有知识产权的微内核,因此被称为“纯血鸿蒙”,其对应的产品名为HarmonyOS 5,中文称为“鸿蒙OS 5”。

在鸿蒙的生态系统中,ArkTS语言扮演着至关重要的角色。作为鸿蒙应用开发的主力语言,ArkTS继承了TypeScript的语法优势,并在此基础上实现了创新与扩展。通过声明式UI、强化的静态类型检查以及轻量化的并发机制,ArkTS为开发者提供了一种高效、简捷且安全的编程范式。

我们将编写《鸿蒙HarmonyOS NEXT开发之路》系列丛书,共分为3卷:

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

《鸿蒙HarmonyOS NEXT开发之路 卷2:从入门到应用篇》

《鸿蒙HarmonyOS NEXT开发之路 卷3:项目实践篇》

本书为系列丛书的第1卷—《鸿蒙HarmonyOS NEXT开发之路 卷1:ArkTS语言篇》。本书旨在为有志于深入探索鸿蒙系统开发的读者提供系统性的学习指南,将从ArkTS语言的基础开始,逐步深入鸿蒙应用开发的各个层面。无论是初学者还是有经验的开发者,都能从本书中获益。

本书内容包括:

鸿蒙系统的发展历程与未来愿景。

ArkTS语言的核心特性与编程优势。

?利用ArkTS进行高效、声明式UI开发的方法。

状态管理与数据绑定的最佳实践。

鸿蒙应用的生命周期管理与性能优化策略。

资源下载

本书配套示例源码,请读者用微信扫描下面的二维码下载。如果学习本书的过程中发现问题或疑问,可发送邮件至[email protected],邮件主题为“鸿蒙HarmonyOS NEXT开发之路 卷1:ArkTS语言篇”。

通过对本书的学习,读者不仅可以掌握ArkTS语言的核心技术,还能深刻理解鸿蒙系统的设计理念,从而在智能设备开发领域发挥自己的创造力与想象力。

在数字化时代,每一位开发者都是创新的推动者。我们诚邀读者加入鸿蒙生态,与全球开发者共同开启智能生活的无限可能。

愿本书成为读者鸿蒙开发之旅中的得力助手,助力实现梦想,共创辉煌!

华为开发者专家:马剑威

2024年12月

推荐理由

随着华为HarmonyOS NEXT的到来,ArkTS语言正式成为鸿蒙原生应用开发的核心。对于开发者而言,掌握ArkTS不仅是适应鸿蒙生态的关键,更是迎接未来技术变革的重要一步。《鸿蒙HarmonyOS NEXT开发之路 卷1:ArkTS语言篇》 正是一本专为开发者打造的系统学习指南,帮助你从零基础快速掌握ArkTS,并应用于实际开发。

本书内容系统全面,涵盖ArkTS的基础语法、数据结构、面向对象编程、异步编程等核心知识,并结合HarmonyOS的特性,帮助你理解如何高效开发原生应用。不同于一般的语法解析书籍,本书采用理论+实战的方式,提供大量代码示例和完整案例,让学习更具实践性和可操作性。

无论你是Android、iOS等移动端开发者希望转型鸿蒙,还是想深入鸿蒙生态的技术爱好者,本书都能助你轻松上手ArkTS,快速搭建高性能鸿蒙应用。现在正是加入鸿蒙开发浪潮的最佳时机,立即阅读本书,抢占技术新高地!

写在后面

我是一只有趣的兔子,感谢你的喜欢。

01