基本信息
文件名称:鸿蒙编程语言白皮书.docx
文件大小:3 MB
总页数:122 页
更新时间:2025-06-24
总字数:约3.78万字
文档摘要

鸿蒙编程语言白皮书

文档版本发布日期

文档版本

发布日期

2025-06-20

2

版权所有?华为终端有限公司2025。保留一切权利。

本材料所载内容受著作权法的保护,著作权由华为公司或其许可人拥有,但注明引用其他方的内容除外。未经华为公司或其许可人事先书面许可,任何人不得将本材料中的任何内容以任何方式进行复制、经销、翻印、播放、以超级链路连接或传送、存储于信息检索系统或者其他任何商业目的的使用。

商标声明

华为,以上为华为公司的商标(非详尽清单),未经华为公司书面事先明示许可,任何第三方不得以任何形式使用。

注意

华为会不定期对本文档的内容进行更新。

本文档仅作为使用指导,文档中的所有陈述、信息和建议不构成任何明示或暗示的担保。

华为终端有限公司

地址:广东省东莞市松山湖园区新城路2号

网址:

3

CONTENT

O1鸿蒙编程语言整体框架

1)ArkTS概述 6

2)仓颉概述 7

3)C/C++概述 8

4)语言互操作介绍 9

O2鸿蒙编程语言适用场景

1)高效开发 18

2)高性能 25

3)安全 43

4)跨平台 47

5)技术资产保护 48

4

O3鸿蒙编程语言演进策略

1)语言演进整体策略 54

2)智能化演进策略 56

3)未来一年语言演进策略 58

5

1第一章:鸿蒙编程语言整体框架

鸿蒙是多语言生态,ArkTS、仓颉和C/C++充分互补。ArkTS是动态类型编程语言,主打易学易用、生态丰富、极简开发、持续创新四大特征;仓颉是静态类型编程语言,主打高性能、强安全、跨平台、智能化等特性。为满足不同业务场景诉求及不同开发者编程习惯,两者长期协同发展和长期演进,并保持生态兼容。ArkTS和仓颉均通过垃圾回收机制自动管理内存,C/C++支持Native开发,需开发者手动管理内存,三种语言相互配合,共同支撑鸿蒙应用生态构建。

图1-1:鸿蒙APP架构示意图

6

1.1ArkTS概述

ArkTS是鸿蒙应用开发高级语言。

ArkTS基于TypeScript(简称TS),保持了TS的基本语法和风格,同时通过引入静态类型校验模式和类型推断增强规则,强化开发期静态检查和分析能力,提升代码健壮性,并实现更好的程序执行稳定性和性能。ArkTS同时也支持与TS/JavaScript(简称JS)高效互操作,可以完全复用TS/JS生态,已广泛应用于鸿蒙应用生态。

在标准TS的基础上,ArkTS结合鸿蒙应用开发的诉求进行了创新和能力扩展,主要新增四大特性如下:

l并发编程模型:ArkTS新增提供TaskPool和Worker两种并发编程API供开发者使用。同时,ArkTS进一步提出了Sendable对象模型的机制来支持对象在并发任务间的引用传递,极大提升ArkTS对象在并发实例间的通信性能。

l声明式语法:ArkTS结合ArkUI提供声明式UI描述、状态管理、渲染控制等强大的UI开发能力,拥有简洁且富有表达力的语法,通过简洁的语法和实时预览功能,大大提高了UI开发的效率,使得代码更易于编写和阅读。

l强大的标准库:ArkTS拥有一个功能丰富的标准库,涵盖了从数据结构、算法到输入输出等方方面面,例如:高精度浮点运算、二进制Buffer、XML生成解析转换和多种容器库等丰富的操作方法,帮助开发者简化开发工作,提升开发效率。

l模块化管理:ArkTS支持应用模块化开发、编译、打包和运行,例如:应用模块化按需加载能力,方便大型复杂应用的多模块业务场景,高性能启动运行,提高了代码的模块化管理和重用性。

7

方舟编译运行时(ArkCompiler)支持ArkTS、TS、JS的编译运行,目前它主要分为ArkTS编译工具链和ArkTS运行时两部分。其中ArkTS编译工具链负责在开发侧将高级语言编译为方舟字节码文件(*.abc),而ArkTS运行时则负责在设备侧运行字节码文件执行程序逻辑。

ArkTS会结合鸿蒙应用开发的需求持续创新,平滑演进。进一步丰富并发编程、完善类型系统、现代化语法等显著改进和新特性,使开发者能够更快速地构建稳定且性能优越的应用。

1.2仓颉概述

仓颉是鸿蒙应用开发高级语言。

仓颉作为一款面向鸿蒙应用开发的现代编程语言,是一款静态类型、静态编译的编程语言,通过现代语言特性的集成、全方位的编译优化