【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.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机型。
- 1回答
- 0粉丝
- 0关注
- 鸿蒙Navigation入门使用
- 华为仓颉语言初识:并发编程之线程的基本使用
- DevEco CodeGenie 鸿蒙AI 辅助编程初次使用
- 仓颉编程语言学习资源全汇总【坚果派】
- 华为仓颉语言初识:并发编程之同步机制(上)
- 华为仓颉语言初识:并发编程之同步机制(下)
- Flutter鸿蒙入门
- 鸿蒙HarmonyOS并发编程能力详解
- OpenHarmony鸿蒙入门指南
- 「Mac玩转仓颉内测版9」入门篇9 - 综合案例篇
- 「Mac玩转仓颉内测版1」入门篇1 - Cangjie环境的搭建
- 「Mac玩转仓颉内测版4」入门篇4 - Cangjie变量命名规则
- 「Mac玩转仓颉内测版5」入门篇5 - Cangjie控制结构(上)
- 「Mac玩转仓颉内测版6」入门篇6 - Cangjie控制结构(中)
- 「Mac玩转仓颉内测版7」入门篇7 - Cangjie控制结构(下)