鸿蒙编程语言白皮书
第一章:鸿蒙编程语言整体框架
鸿蒙采用多语言生态,包括ArkTS、仓颉和C/C++,三者互补。
- ArkTS:基于TypeScript,增强静态类型校验和类型推断,支持并发编程模型、声明式语法、强大的标准库和模块化管理。
- 仓颉:静态类型、静态编译语言,具有高性能、强安全、跨平台和智能化特性。
- C/C++:支持Native开发,需手动管理内存,可通过互操作封装为ArkTS和仓颉扩展模块。
语言互操作
- ArkTS与C/C++互操作:通过Node-API机制实现,支持系统模块功能开放和应用核心功能封装。
- 仓颉与C/C++互操作:支持C互操作,通过声明式接口描述和低互操作开销实现。
- 仓颉与ArkTS互操作:通过ohos.ark_interop互操作库实现,支持JSValue、JSContext和JSCallInfo等数据结构,提供声明式互操作宏机制。
第二章:鸿蒙编程语言适用场景
高效开发
- ArkTS:兼容TS高效语法,拓展高频基础库,支持声明式UI开发,继承TS/JS语言生态。
- 仓颉:静态类型系统,简明语法,多范式支持,丰富的标准库,快速成长的生态。
高性能
- ArkTS:混合执行模式(AOT、解释器、JIT),动态加载和延迟加载机制,SmartGC感知场景的内存回收,并发能力(TaskPool、Worker、Sendable)。
- 仓颉:静态类型和静态编译优化,低时延高效率的自动内存管理,简洁轻量的并发编程。
安全
- ArkTS:应用字节码文件的合法性校验,代码签名与运行时验签。
- 仓颉:静态类型系统,编译和运行时安全检测,自动内存管理,运行时地址随机化等漏洞利用缓解机制。
跨平台
- 仓颉:支持基于静态编译至机器码的跨OS平台执行能力,支持OpenHarmony、Android、iOS、Windows、Linux、MacOS等OS平台。
技术资产保护
- ArkTS:提供ArkGuard源码混淆工具,支持基础名称混淆。
- 仓颉:提供外形混淆、数据混淆、控制流混淆等多种混淆技术。
第三章:鸿蒙编程语言演进策略
语言演进整体策略
- ArkTS:基于TS和JS,扩展声明式和并发编程能力,持续演进语言规范、编译器实现和运行时优化。
- 仓颉:深耕高效开发、高性能、强安全领域,完善跨平台和智能化能力,打造鸿蒙生态应用开发的首选静态编程语言。
智能化演进策略
- 仓颉Agent DSL:支持单Agent编程开发、多Agent协同、支持MCP协议等,持续深化与AI技术融合。
- Agent核心要素的语言级支持:模型、提示词、规划和工具。
- 多Agent协同:线性协同、主从式协同、自由协同。
- 全场景智能:多平台部署能力、大模型统一抽象层、异构工具集成能力。
未来一年语言演进策略
- ArkTS:增强并发能力,提高开发效率,丰富SDK。
- 仓颉:提升开发者体验,完善语言特性、兼容现有生态、完善工具链易用性。
- API发展策略:优先提供涉及5大类别,45+ Kit的关键系统能力。
- 开发工具:DevEco Studio支持仓颉开发,提供代码编辑、编译构建、代码调试、场景化调优、模拟器、测试框架等功能。
- 资料文档:提供应用开发指南、API参考、Codelabs和Samples等资源。
- 跨平台:2025年完成跨平台开发能力构建,2025年Q4提供首个Beta版本,2026年Q2发布首个Release版本。