写点什么

【HarmonyOS】鸿蒙使用仓颉编程入门

作者:GeorgeGcs
  • 2025-07-02
    上海
  • 本文字数:1707 字

    阅读完需:约 6 分钟

【HarmonyOS】鸿蒙使用仓颉编程入门

【HarmonyOS】鸿蒙使用仓颉编程入门

一、前言

仓颉,是华为自研的一款面向全场景智能的新一代编程语言,是为鸿蒙量身打造的全场景智能应用编程语言,作为鸿蒙生态中的重要组成部分,旨在支持鸿蒙系统下的全场景应用开发 ,主打“原生智能化、天生全场景、高性能,强安全。


2019 年,华为启动仓颉编程语言项目 。2025 年 6 月 20 华为开发者大会,正式宣布将在 7 月开源。今天 2025 年 7 月 1 日,仓颉编程语言 1.0.0 版本正式公布对外下载



仓颉是一门多范式编程语言,支持函数式、命令式和面向对象等多种范式,包括值类型、类和接口、泛型、代数数据类型、模式匹配、以及高阶函数等特性。


支持类型推断,能够降低开发者类型标注的负担;通过一系列简明高效的语法,能够减少冗余书写、提升开发效率;


语言内置的各种语法糖和宏(macro)的能力,支持开发者基于仓颉快速开发领域专用语言(DSL),构建领域抽象。

二、仓颉编程环境安装

1、首先安装仓颉编程环境:我们以 window 环境为例,在官网下载对应的 zip 压缩包后。在要安装的位置进行解压,就会得到如下内容:



2、此时我们肯定想,运行 bat 脚本进行安装:但是你先别急,我知道你很急。首先我们需要配置环境变量,否则点击运行也没有效果。


新增 CANGJIE_HOME 环境变量,值为解压包根目录:



在 Path 环境变量中新增如下:



3、之后运行 bat 安装脚本后,我们 cmd 输入版本命令进行环境检查:



cjc -v 输出了仓颉编译器版本信息,表示已经成功安装了仓颉工具链。
复制代码



cjpm run 命令包含了编译和运行两个步骤。


4、创建仓颉项目,运行 HelloWorld:只需要使用仓颉提供的两句命令即可轻松实现,首先我们创建项目文件件 cangjie_demo,在当前文件夹路径执行 cmd 命令如下:



// 初始化示例项目cjpm init
复制代码




// 运行cjpm run
复制代码



5、项目文件介绍:


编译时,会在应用根目录下生成一个 cjpm.lock 文件及 target 目录,其中 target 目录内含构建好的可执行文件。



其中 src 就是仓颉入口代码执行文件:mian.cj


package cangjie_demo
main(): Int64 { println("hello world") return 0}
复制代码

三、鸿蒙中如何使用仓颉?

1、申请公测仓颉在公开测试阶段,体验 HarmonyOS 应用开发的仓颉插件,需要申请公测权限。


进入仓颉开发者预览版招募报名页面,单击 ”立刻报名“ 进入报名页面,并填写报名信息。


2、下载仓颉插件审核通过后,去下载中心,即可查看到相关插件,将插件下载到本地:需要注意插件和 IDE 的配套关系(DevEco Studio-Cangjie Plugin 5.0.13.210 Canary 版本配套 DevEco Studio 5.0.5 Release 发布)



3、在 IDE 中安装下载到本地的插件在 File-setting-选择 Plugin-本地离线安装(install Plugin from Disk)




安装完成后,点击重启 IDE 即可使用仓颉。


4、创建仓颉示例项目:File-New-Create Project,创建仓颉示例空项目:



5、仓颉项目运行效果和代码示例:



我们可以看到,仓颉编码比 ArkTS 写鸿蒙的代码更少并且更加简洁:


(不过一堆导包,我真是有点绷不住。OvO)


package ohos_app_cangjie_entry
internal import ohos.base.LengthPropinternal import ohos.component.Columninternal import ohos.component.Rowinternal import ohos.component.Buttoninternal import ohos.component.Textinternal import ohos.component.CustomViewinternal import ohos.component.CJEntryinternal import ohos.component.loadNativeViewinternal import ohos.state_manage.SubscriberManagerinternal import ohos.state_manage.ObservedPropertyinternal import ohos.state_manage.LocalStorageimport ohos.state_macro_manage.Entryimport ohos.state_macro_manage.Componentimport ohos.state_macro_manage.Stateimport ohos.state_macro_manage.r
@Entry@Componentclass EntryView { @State var message: String = "Hello Cangjie" func build() { Row { Column { Button(message).onClick { evt => AppLog.info("Hello Cangjie") }.fontSize(40).height(80) }.width(100.percent) }.height(100.percent) }}
复制代码


需要注意的是目前,仅支持 HUAWEI Mate60 Pro ALN-AL00 机型。

发布于: 9 小时前阅读数: 2
用户头像

GeorgeGcs

关注

路漫漫其修远兮,吾将上下而求索。 2024-12-24 加入

鸿蒙创作先锋,华为HDE专家,鸿蒙讲师,作者。 目前任职鸿蒙应用架构师。历经腾讯,宝马,研究所,金融。 待过私企,外企,央企。 深耕大应用开发领域十年。 OpenHarmony,HarmonyOS,Flutter,H5,Android,IOS。

评论

发布
暂无评论
【HarmonyOS】鸿蒙使用仓颉编程入门_GeorgeGcs_InfoQ写作社区