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

2025-07-02 00:17:54
113次阅读
0个评论

【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.LengthProp internal import ohos.component.Column internal import ohos.component.Row internal import ohos.component.Button internal import ohos.component.Text internal import ohos.component.CustomView internal import ohos.component.CJEntry internal import ohos.component.loadNativeView internal import ohos.state_manage.SubscriberManager internal import ohos.state_manage.ObservedProperty internal import ohos.state_manage.LocalStorage import ohos.state_macro_manage.Entry import ohos.state_macro_manage.Component import ohos.state_macro_manage.State import ohos.state_macro_manage.r

@Entry @Component class 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机型。

收藏00

登录 后评论。没有帐号? 注册 一个。