华为发布了《鸿蒙编程语言白皮书》V1.0 版本。
白皮书核心内容如下:
一、鸿蒙编程语言整体框架
- 多语言生态:鸿蒙支持 ArkTS、仓颉和 C/C++三种编程语言,它们相互补充,共同支撑鸿蒙应用生态构建。
- ArkTS:动态类型编程语言,基于 TypeScript,具有易学易用、生态丰富等特征,适用于高效开发场景。
- 仓颉:静态类型编程语言,具有高性能、强安全、跨平台等特性,适用于对性能和安全要求较高的场景。
- C/C++:适用于高性能计算、硬件加速等特定场景,可通过跨语言互操作封装为 ArkTS 和仓颉扩展模块。
- 语言互操作:ArkTS 与 C/C++通过 Node-API 实现互操作;仓颉与 C 语言实现函数互相调用及跨语言数据转换;仓颉与 ArkTS 通过互操作库实现数据转换和函数调用。
二、鸿蒙编程语言适用场景
- 高效开发:ArkTS 兼容 TS 高效语法,提供丰富的基础库和并发能力,支持声明式 UI 开发,可继承 TS/JS 语言生态。
- 高性能:ArkTS 编译运行时支持混合执行模式,优化模块加载机制,提供高效的并发编程模型;仓颉基于静态类型和静态编译优化技术,具有卓越的性能支持。
- 安全:ArkTS 在语言层面引入类型系统等特性,并在编译工具链和运行时提供额外的安全机制;仓颉通过静态类型系统、自动内存管理等确保程序安全。
- 跨平台:仓颉支持静态编译至不同 OS 平台的机器码,实现跨 OS 平台代码共享,支持多种操作系统平台。
- 技术资产保护:ArkTS 提供源码混淆工具 ArkGuard;仓颉提供外形混淆、数据混淆、控制流混淆等多种混淆技术。
三、鸿蒙编程语言演进策略
- ArkTS 演进策略:将进一步定义和完善语言规范,提供基于语言规范的编译器实现,引入类型信息优化运行时性能等。
- 仓颉演进策略:将持续提升高效开发体验,提供高性能和强安全能力,在跨平台和智能化领域持续完善和探索。
- 智能化演进策略:仓颉通过元编程能力和 DSL 能力构建 Agent DSL 能力,未来将深化与 AI 技术的融合,推动在多领域的应用。
四、未来一年语言演进策略
- ArkTS:将持续保持演进迭代,进一步丰富并发编程、完善类型系统、现代化语法等新特性,提升开发效率,丰富 SDK 功能等。
- 仓颉:将以提升开发者体验为目标,从语言特性构建、兼容现有生态、完善工具链易用性等方面持续建设语言能力,包括 API 发展、开发工具支持、资料文档完善等。
在线阅读