文档管理中心
我的
指南鸿蒙编程语言白皮书鸿蒙编程语言演进策略

鸿蒙编程语言演进策略

1 语言演进整体策略

1.1 ArkTS语言演进策略

当前ArkTS语言的整体设计和实现思路是基于TS的编译类型检查规则和JS的运行时语义,前端通过语法糖提供声明式范式扩展,运行时在动态类型的基础架构上扩展局部的共享内存并发能力。它提供了无缝兼容和复用TS/JS生态的能力,同时也通过有限扩展提供了鸿蒙应用开发场景所必需的声明式和并发编程能力,有效支持了鸿蒙应用生态的快速构建和生态丰富。同时,在鸿蒙应用生态发展过程中,我们不断获取到对ArkTS语言更多的新特性诉求。因此,结合鸿蒙应用生态繁荣对编程语言在开发效率、运行性能、安全等方面的优化需求以及语言的长期可持续发展演进需求,ArkTS也将在已有基础上持续演进。

ArkTS未来演进中,会进一步定义和完善语言规范(含语法演进和类型系统增强等),持续提升开发效率和编译及执行性能。在开发阶段为开发者带来更快的编译速度和更小的编译内存占用,在运行阶段通过性能和内存优化达成更优的应用启动、滑动体验。

1.2 仓颉语言演进策略

仓颉未来将持续深耕高性能、强安全、跨平台、智能化等领域,持续提升高效开发体验,提供默认高性能和强安全能力;在跨平台和智能化领域持续完善和探索,为鸿蒙应用开发者提供一码三端、AI Agent编程能力,并将仓颉打造为鸿蒙生态应用开发的首选静态编程语言。仓颉未来探索方向如下:

  • 高性能:通过Actor、并发优先级算法、结构化并发提升性能;通过内存所有权机制实现平均内存占用;通过硬件深度协同的优化技术降功耗。
  • 强安全:通过安全宏、FFI安全检查增强编译阶段安全能力;通过前向控制流完整性技术增强运行阶段安全能力;通过数据流分析技术增强应用级别的安全能力构建。
  • 跨平台:完善跨OS平台的开发态和运维态调优工具链,优化跨OS平台调试体验,支持仓颉与Swift/Kotlin互通,持续提升鸿蒙应用跨OS平台代码占比。
  • 智能化:通过 AgentDSL 等技术在 Agent 执行层建立更为严密的确定性边界;用更加结构化的校验-失败处理约束大模型的概率式推断;探索事务语义等技术,用于语言原生支持非确定性概率结果处理,探索语言原生支持声明式、结构化的需求、规则、知识描述能力,针对大模型的输入/输出构建自动化的格式与语义的形式化校验。

2 未来一年语言演进策略

2.1 ArkTS语言

作为鸿蒙应用开发的首选开发语言,ArkTS将持续演进与迭代,致力于为开发者提供更丰富的功能与更卓越的性能。未来,ArkTS将不断引入并发编程、类型系统完善以及现代化语法等前沿特性,帮助开发者更高效地构建稳定且高性能的应用程序。

与此同时,ArkTS的演进也会紧贴AI编程蓬勃发展的趋势,进一步提升鸿蒙应用的开发效率,主要体现在以下几个方面:

  • ArkTS语法规则、知识库构建与高效开发Skill

    通过完善语法规则与知识库建设,进一步提升AI agent在代码编写中的效率和准确性。

  • 结构化的编译与运行结果反馈机制

    提供更结构化的编译过程与运行结果信息,帮助AI agent精准定位问题并及时修复错误。

  • 高效的全量与增量编译效率

    增强编译系统的性能,提升全量和增量编译的速度,降低AI在迭代开发周期中的等待时间和开销。

  • 高性能代码开发技能(Skill)

    覆盖并发编程、模块加载、代码执行优化等领域,支持AI编写出性能优越的应用。

这些能力的提供将显著增强开发体验的确定性与错误快速反馈的能力,使得AI在代码生成与修复过程中更加精准高效,进而支持高频的代码迭代,推动AI友好的代码及高质量应用的快速产出。

此外,针对于ArkTS语言性能优化的难点,将引入基于AI的自动化改造模型,涉及如Sendable、Lazy Import优化、模块Top Level代码优化等创新点,显著降低高性能应用的开发成本,进一步推动高性能应用的普及与开发。

在调试与优化以及DFX能力方面,重点将聚焦以下领域:

  • AI for DFX能力的提升
  • 多语言混合调试的优化
  • 配套工具的强化建设

通过明确这些后续优先级任务,旨在显著提升调试效率和自动化能力,为开发者提供更加顺畅的开发和优化体验。

HarmonyOS开放API会默认提供ArkTS的版本。

HarmonyOS SDK 将会带来更强大的功能和更灵活的集成体验。SDK 提供功能更加丰富的新Kit,方便开发者集成, 包含:

  • 灵犀加速服务:基于Kirin CPU丰富的软芯协同特性,实现鸿蒙OS独有的软硬协同生态加速特性。
  • 熄屏导航服务:提供AOD下熄屏循迹导航能力,实现应用界面首眼直达、降低功耗、延长设备续航时长。
  • 机密空间服务:提供使用机密空间的能力,支撑应用与系统、应用与应用在空间内安全地共享数据。
  • 企业办公开发服务:企业能力统一开放,包括企业管理、企业安全、企业批量部署还原功能,支持企业应用开发者高效、安全合规开发。

API 数量将超过 8W,满足各垂类应用开发者的业务开发诉求。

同时,新增的开放能力也允许开发者按需调用AI能力,深度自定义接口满足开发者个性化场景需求。API 的调用性能也会持续优化,且提供更详细的错误日志与调试工具,帮助开发者提升效率。

2.2 仓颉语言

仓颉作为鸿蒙应用开发的官方语言,将以提升开发者体验为目标,从语言特性构建、兼容现有生态、AI亲和、完善工具链易用性等方面持续建设语言能力。

鸿蒙 5.0 为首个支持仓颉应用开发的版本,鸿蒙 6.0 为首个支持仓颉语言公开试点的版本,鸿蒙 7.0 为首个支持仓颉语言商用的版本,鸿蒙 8.0 为首个支持仓颉语言完备开发的版本。仓颉商用后支持鸿蒙 5.0以上版本鸿蒙应用开发。因此使用鸿蒙 SDK的仓颉应用开发者,应用的最低目标版本可设置为鸿蒙 5.0。

开发工具

DevEco Studio 已支持使用仓颉进行鸿蒙应用的开发(仓颉应用、仓颉+ArkTS混合应用),以及仓颉的静态库和动态库的开发,在下载安装 DevEco Studio 后,开箱即用。目前 DevEco Studio 已支持仓颉代码编辑/构建、功能调试(跨语言调试、并行调试等)、场景化调优(内存问题分析、内核问题分析、卡顿问题分析,效率提升等)、 模拟器、Agentic coding等,未来还将对以下特性进行增强:

  • AI Coding CLI版:支持仓颉知识库、Codebase、MCP、Skills、Spec等仓颉语言能力。
  • UI 界面预览与分析:支持多模式预览,源码与预览双向定位,UI 布局分析,UI 界面调试等能力。
  • 测试框架:支持生成本地单元测试代码,支持生成仪器测试代码。

资料文档

为开发者提供了鸿蒙应用开发指南、Samples、最佳实践、FAQ 资源,旨在帮助开发者更快速地掌握使用仓颉开发鸿蒙应用的方法,未来将在以下方面持续优化:

  • 应用开发指南:提供“应用框架(APP Framework)、系统(System)、媒体(Media)、图形(Graphics)、应用服务(APP Services)”五大类别,45+ Kit 的详细开发步骤。工具部分提供如何在 DevEco Studio 中进行开发、调试、发布、上架应用的操作指导。
  • Samples:面向不同类型的开发者提供的使用仓颉开发鸿蒙生态应用的优秀实践,每个 Samples 都是一个可运行的工程,为开发者提供实例化的代码参考。
  • 最佳实践:针对新发布特性及重点特性提供详细的技术解析和开发最佳实践。
  • FAQ:开发者常见问题总结,开发者可以通过 FAQ 更高效地解决常见问题。 FAQ 会持续刷新,及时呈现最新的常见问题。

跨平台

仓颉已为开发者提供了跨平台编译运行、生态复用和调试能力,未来仓颉将持续把跨 OS 平台作为语言关键能力,在以下方面持续优化:

  • 构建仓颉跨平台应用调优能力,包括:
    • 跨语言对象引用关系记录:在仓颉内存快照中支持记录Java/Object-C与仓颉互相引用的能力,包括仓颉对象被Java/Object-C对象引用,仓颉对象引用Java/Object-C对象
    • 跨语言混合栈:支持仓颉和Java/Object-C互操作,在应用崩溃,采样,内存调优等场景下,显示混合栈。
  • 在后续版本中持续完善和优化跨平台开发体验,包括:
    • 跨语言调试能力:支持 Java/Objective-C 与仓颉互相调用时的混合调试,如表达式求值、变量查看等

2.3 互操作

互操作是鸿蒙应用开发中ArkTS、仓颉和C/C++发挥各自优势的关键能力。当前基于 ArkTS 运行时能力封装的互操作库支持ArkTS与仓颉进行互操作,未来将在以下方面持续优化:

  • 提供ArkTS 和仓颉双向互操作的声明宏,完成双向全流程的“胶水”代码自动生成,并利用编译期静态检查能力,加强安全性同时,提升易用性;
  • 构建ArkTS和仓颉的跨语言调试能力并实现跨语言混合栈,方便开发者调试和问题定位;
  • 引入渐进/动态类型改进当前仓颉-ArkTS 反射式互操作机制,在强类型框架下引入更具弹性的语法语义支持,实现更高效的跨语言协作,主要特性包括:
    • 非侵入式动态类型传播:为解决外部动态数据在强类型系统中流转困难的问题,定义 Extern 类型作为中立的数据载体,实现在保留动态语言灵活性的同时,有效防止外部不确定类型对仓颉原生静态检查系统的干扰;
    • 自动化边界类型契约:针对互操作手动类型校验繁琐、运行风险不可控的问题,在赋值、传参及显式转换等关键交互边界建立自动化的契约协议,提升互操作可靠性,同时实现从动态数据到强类型实体的平滑转换。

致谢

本白皮书的诞生,离不开众多伙伴严谨细致的审阅与极具价值的建议。在此,我们向所有为白皮书撰写工作贡献宝贵力量的伙伴们,致以最崇高的敬意与最衷心的感谢!

特别鸣谢美团、美团众包、京东、京东金融、抖音、腾讯会议、高德地图、国土调查局、大麦、菜鸟、便单、深信服、融云等合作伙伴(排名不分先后)。在白皮书的审阅过程中,你们以专业审慎的态度,逐字逐句推敲技术表述;以行业前沿的视角,精准指出内容逻辑的优化方向;以丰富的实践经验,提出切实可行的修改建议。每一处批注、每一条反馈,都饱含着对技术的严谨态度与对生态共建的热忱,让白皮书的内容更具权威性、专业性与实用性,也让鸿蒙编程语言的技术内涵与应用前景得以更清晰、准确地展现。

“独行者快,众行者远”,正是你们无私的付出与真诚的帮助,让这份白皮书不断完善、日臻成熟。未来,我们期待与更多伙伴继续携手,以鸿蒙编程语言为桥梁,共绘技术生态的宏伟蓝图,探索更多创新可能!