鸿蒙编程语言白皮书发布,核心内容

来自:OSCHINA
发布时间:06-22

一、鸿蒙编程语言整体框架

  • 多语言生态:鸿蒙支持 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 发展、开发工具支持、资料文档完善等。


好文章,赞一下
2162
采购咨询
供应咨询
18222705963