鸿蒙要上应用,多数人卡的不是「某一行语法怎么写」,而是先选栈:默认 ArkTS、试一把仓颉,还是继续 Flutter / RN 那套跨端资产。

我自己在 DevEco 里看过两次同一页:没报名时,Languages & Frameworks → Cangjie(Experiment) 的勾选是灰的,黄条让你去联盟站报名;通过后勾上,才会开始 Downloading Cangjie Plugin。不是装好 IDE 就能写仓颉。

现模型已经能扛仓颉长跑,但稀缺的仍是选对栈、过完人侧闸门,再谈 Agent 连夜生成。下面把「何时试 / 何时留 / 何时走跨端」摊开,闸门步骤放在后半。

你现在的处境:鸿蒙要选栈

多数团队的默认路径仍是 ArkTS:文档全、模板多、和 ArkUI 绑得紧,TS / JS 技能也能迁移。与此同时,联盟与 FAQ 把仓颉摆在高性能、强安全、跨平台与智能化叙事上,并明确可以和 ArkTS 混合开发。跨端侧,若你已有 Flutter / RN 代码与团队,鸿蒙往往是「适配目标」而不是唯一主场。

所以开篇要先回答的不是「仓颉语法怎么写」,而是:在默认主力、原生增量试探、跨端适配三条路上,你的产品到底卡在哪一层。选错栈,后面再漂亮的 Agent 长跑也只是在错误目标上烧 token。

仓颉 vs ArkTS:共同发展,不是二选一替代

官方定调可以写得很短:鸿蒙生态提供 ArkTS 与仓颉等多语言混合开发;二者共同发展、优势互补;已有 ArkTS 应用不必整包重写成仓颉,可按场景对新增业务做增量选择。这是 FAQ 的公开表述,不是我的私人判断。

维度

ArkTS

仓颉

角色

鸿蒙应用开发高级语言 / 生态主力,基于 TypeScript,强化静态检查

面向全场景智能的新一代语言;主打高性能、强安全、跨平台、智能化

与对方关系

可与 TS / JS 高效互操作、复用生态

与 ArkTS 共同发展、优势互补;支持混合与增量

编译 / 运行

ArkCompiler 体系,公开文档多围绕 ArkTS 运行时

白皮书强调全栈编译优化;联盟页写静态编译至机器码

UI / 工程

与 ArkUI 声明式 UI / 状态管理深度绑定,官方主推路径

可用仓颉工程模板;FAQ 称 Beta 阶段部分能力有限,可与 ArkTS 互操作

工具链门槛

DevEco 默认路径,无「仓颉式」体验版插件闸门

需体验版 / 公测报名后装 DevEco Studio-Cangjie Plugin(步骤见下文人侧闸门)

优缺不必再逐条念一遍——ArkTS 偏默认公约数与 UI 一体化,仓颉偏高性能 / 高并发与增量混合,同时各自背着工具链闸门、Beta 边界或 Actor 并发心智等代价。下面这张卡把两侧摊开;数字级结论仍以白皮书自洽表述为准,社区「N 倍」不作本稿结论。

一句话:ArkTS 仍是默认公约数;仓颉是可增量叠加的另一条原生能力轨。仓颉不是全面替代 ArkTS。

再对照 Flutter / RN:跨端成熟选项 vs 仓颉原生;CJMP 仍早期

若团队已有 Flutter / RN 资产,且目标是「一套 UI 多端 + 顺带上鸿蒙」,适配成本通常落在引擎 / 三方库的鸿蒙化,技能迁移小。Flutter 自绘路径成熟、热重载与组件生态强;RN 对 JS / TS 团队友好——代价是鸿蒙侧要跟适配分支(如 OH Flutter、RNOH)和库矩阵,系统 API 深度常弱于原生。

若目标是「鸿蒙原生体验 + 系统能力 / 高性能热点」,官方叙事更靠 ArkTS 或仓颉(可混合),而不是把 Flutter / RN 写成鸿蒙第一选择。

仓颉语言层的「静态编译至机器码、同构开发异构运行」是能力表述,不等于已有 Flutter 级应用商店覆盖。仓颉侧另有跨平台框架 CJMP:公开文档定位为支持 UI+逻辑的高性能跨平台方向,文档与引擎相关仓已可见,开源鸿蒙技术大会上也有专题介绍——但公开材料仍处建设中 / 早期,没有「大规模生产 App 名录」可引用——适合关注,不宜当作已大规模落地,也不宜只因仓颉谈跨平台就从 Flutter / RN 迁到 CJMP。

何时试仓颉 / 何时留 ArkTS / 何时走跨端

值得从 ArkTS 试 / 引入仓颉(对齐 FAQ + 工具链现实):

  • 业务出现高吞吐 / 高频读写 / 高负载交互 / 启动时延敏感等热点,希望用官方推荐的语言侧优化,而不是只堆 ArkTS 并发 API。

  • 计划增量混合:UI / 主流程仍 ArkTS,计算或并发模块用仓颉,经互操作接入(接受 Interop Beta 边界)。

  • 团队愿意走完体验版报名 → Cangjie Plugin → 配套 DevEco,并做版本锁定。

  • 中长期关注 Agent DSL / 智能化应用官方叙事,希望提前验证(仍标体验版)。

  • 有明确的对照基准与回退路径:ArkTS 主仓不拆,仓颉作可卸载模块。

更该留在 ArkTS

  • 以声明式 UI、中小业务逻辑、快速交付为主,无稳定性能瓶颈证据。

  • 团队主力是 TS / JS,短期无法承担新语言与插件闸门成本。

  • 强依赖现成 ArkTS / TS 库与示例,热点不足以覆盖互操作复杂度。

  • 目标设备 / API 落在仓颉 Beta「能力有限 / standard 设备」等公开限制之外(先核文档)。

  • 需要最大文档 / 社区 / 招聘公约数——ArkTS 仍是默认公约数。

更该继续 Flutter / RN(或以其为主上鸿蒙)

  • 产品必须 iOS / Android / 鸿蒙等多端共用一套 UI 资产,且已有 Flutter / RN 代码与团队。

  • 鸿蒙是适配目标而非唯一主场,优先降低跨端重复开发。

  • 可接受鸿蒙侧走适配引擎 + 三方库矩阵,而不是重写为 ArkTS / 仓颉原生。

人侧闸门:怎么申请仓颉(体验版 / 公测 → 插件 → SDK)

栈选完若真要动仓颉工程,还得过人侧闸门。优点:闸门过了之后,CLI Agent 才能把 hvigor / 仓颉 SDK、assembleHap、模拟器与真机探针串进长跑。缺点必须写清:仓颉做鸿蒙应用不能开箱即用——权限要先在华为开发者联盟报名体验版 / 公测;通过后才能在 DevEco 里启用仓颉并拉插件。插件与 DevEco 版本须配套;SDK 由插件在工程初始化时自动配置。

报名入口(请收藏)HarmonyOS 仓颉语言开发者体验版招募(仓颉语言开发者体验版 / 公测招募;公开档期曾标注 2026-08-07~2027-03-31,以页面当期为准)。DevEco 设置页黄条上的「报名 / 进行申请」也跳到联盟侧,与这条是同一闸门。

DevEco 里能直接看见闸门状态。路径:Settings → Languages & Frameworks → Cangjie(Experiment)(中文界面为「语言和框架」)。未报名时,Cangjie 勾选灰掉,正文与黄条都提示去联盟网站申请 / 报名:

报名通过后,同一页勾选可点;勾上 Cangjie 会拉起 Downloading Cangjie Plugin…(界面会显示当期可下版本号,以你机器为准):

验收合同要多写一条前置条件:人侧完成联盟报名与仓颉插件安装,再把路径与版本组合写进 memories。通用 VS Code 仓颉路径不要和 DevEco 插件路径混写。并行入口(网页下载 + 本地装盘)仍可用:

申请与安装步骤(你可照着走;我也是这么过的)

  1. 打开体验版 / 公测招募页,注册华为账号并完成实名认证;或从 DevEco 上述设置页点「报名 / 进行申请」跳转。

  2. 点「立即报名」,按报名页提示填写申请信息并提交(字段以报名页为准)。

  3. 等待官方邮件 / 短信。活动页与文档对时效表述不完全一致——我只写「通常数个工作日,以通知为准」,不写死 SLA。

  4. 通过后两条装插件路径任选其一:(A) DevEco → Settings → Languages & Frameworks → Cangjie(Experiment),勾选 Cangjie,等插件下载完成并重启;(B) 联盟站 → 开发 → 下载 → DevEco Studio-Cangjie Plugin,再 Settings → Plugins → Install Plugin from Disk

  5. 新建仓颉工程并按向导初始化——仓颉 SDK 由插件自动配置(默认常见路径 ~/.cangjie-sdk)。

  6. 核对工具链可用后,把插件版本、DevEco 版本与 SDK 路径写进项目 memories / 构建脚本,再开始 Agent 长跑。

报名与审核不可被 Agent 代办,必须我(或你)完成;插件 / IDE 版本漂了会直接编不过。

收束:先定 Agent 验收,再开长跑

栈选完了,若你还打算用 CLI Agent 扛迁移或热点模块,开篇只留一份精简验收面。双栏迁栈后来证伪了系统壳:必须带 Ability token、或必须在 loadContent 之前调用的 API,不能假设仓颉运行时扛得住。细节不在这篇展开。

  • 目标可引用:一句话说清做什么、在哪台设备跑、谁测功能;能写进 session goal 的比口头约定更抗遗忘。

  • 编译可复现:DevEco / hvigor / 仓颉 SDK 路径与版本组合写进构建记忆;类型检查 0 错误只是门槛。

  • 多视角审查:至少拆 API 语义 / 与旧实现等价 / 运行时 vs 环境 / UI 交互;一路空窗也要记账。系统 API 必须在 ArkTS Ability 环境打,独立 JSRuntime 绿了不算。

  • 设备 / 环境对路:仓颉 ArkUI 不是每台模拟器镜像都有;官方 demo 对照能省很多空转。权宜镜像只证环境,产品声明的设备才是过线。

  • 人机共测:闪退、全黑控件、全屏异常往往要人装包反馈 + Agent 定点修。

  • Memories 沉淀:路径、镜像差异、语言 gotchas、协作偏好写进项目记忆,下一轮才不重复踩坑。

仓颉做鸿蒙应用不是开箱即用:体验版 / 公测与插件步骤见上文「人侧闸门」。总判断:现模型已能扛仓颉产品迁移,系统壳仍要留在 ArkTS Ability。能力写到「能迁、能搭」为止,不等于零坑、更不等于可停在 cjc。稀缺的是验收合同,不是「会不会写 .cj」。

这篇停在选栈与人侧闸门。

参考链接

Logo

作为“人工智能6S店”的官方数字引擎,为AI开发者与企业提供一个覆盖软硬件全栈、一站式门户。

更多推荐