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

devtools/2025/2/27 2:51:57/

《鸿蒙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


http://www.ppmy.cn/devtools/162941.html

相关文章

【找工作】C++和算法复习(自用)

文章目录 C头文件自定义排序函数stl 算法数据结构树状数组 数学字符串manacherkmp 自用随便记录 C 排序 stl 头文件 全能头文件&#xff1a; #include<bits/stdc.h>自定义排序函数 bool compare(const int &odd1,const int &odd2) {return odd1>odd2; }…

【Matlab仿真】Matlab Function中如何使用静态变量?

背景 根据Simulink的运行机制&#xff0c;每个采样点会调用一次MATLAB Function的函数&#xff0c;两次调用之间&#xff0c;同一个变量的前次计算的终值如何传递到当前计算周期来&#xff1f;其实可以使用persistent变量实现函数退出和进入时内部变量值的保持。 persistent变…

Android构建系统 - 02 初始化编译环境,添加产品

文章目录 初始化编译环境&#xff0c;选择产品envsetup.sh脚本不开启 subshell作用提供实用函数添加编译选项查找/执行 其它vendorsetup.sh lunch ProductProduct 概念编译选项解析层级配置文件目录AOSP 预制芯片及方案厂商 lunch命令作用编译目标BUILD 编译目标BUILDTYPE 编译…

Python黑客技术实战指南:从网络渗透到安全防御

&#x1f31f; 嗨&#xff0c;我是Lethehong&#xff01;&#x1f31f; &#x1f30d; 立志在坚不欲说&#xff0c;成功在久不在速&#x1f30d; &#x1f680; 欢迎关注&#xff1a;&#x1f44d;点赞⬆️留言收藏&#x1f680; &#x1f340;欢迎使用&#xff1a;小智初学…

微信小程序:多菜单栏设计效果

一、实现效果 二、代码 wxml 编辑前端界面,步骤 菜单逻辑: 逐步取出数组中的项,首先取出顶部菜单项,然后选中后取出选中的底部数据(左侧菜单+右侧内容),然后点击左侧菜单取出选中的左侧菜单对应的右侧内容 ①这里我的数据是全部封装到一个数组对象的,首先我的循环…

【链 表】

【链表】 一级目录1. 基本概念2. 算法分析2.1 时间复杂度2.2 空间复杂度2.3 时空复杂度互换 线性表的概念线性表的举例顺序表的基本概念顺序表的基本操作1. 初始化2. 插入操作3. 删除操作4. 查找操作5. 遍历操作 顺序表的优缺点总结优点缺点 树形结构图形结构单链表基本概念链表…

DeepSeek 助力 Vue 开发:打造丝滑的表单验证(Form Validation)

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享一篇文章&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 目录 Deep…

[ Vim ] 常用命令 and 配置

Vim 指导 Vim常用命令&配置1 Command1.1 copy & paste1.2 syntax highlight 2 Configuration Vim常用命令&配置 1 Command 1.1 copy & paste copy: yy or yy[n] paste: p 1.2 syntax highlight vim 命令行&#xff1a;:colorscheme [xxx] 2 Configuratio…