【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_demomain(): 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_entryinternal 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 {@Statevar 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机型。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/89269.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/89269.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2.3.1 Nginx Web服务器安全加固

文章目录 一、试题及考试说明二、操作步骤1. 启动Nginx服务2. 隐藏站点 Response Header 里的Web服务版本信息(见下总图)3. 隐藏站点 Response Header 里的X-Powered-By 字段(见下总图)4. Nginx访问日志存放位置修改为/opt/bak/ac…

红色背景政府当讲PPT模版

政府党建PPT模版,庆国庆PPT模版,国庆节PPT模版 红色背景政府当讲PPT模版:https://pan.quark.cn/s/a6f484905430

JavaScript对象(Object)常用操作

创建对象 //使用对象字面量、构造函数或者Object.create()方法来创建对象// 对象字面量 const person {name: John,age: 30,hobbies: [reading, swimming] };// 构造函数 function Car(make, model) {this.make make;this.model model; } const myCar new Car(Toyota, Cor…

Java面试宝典:基础一

⚙️ 1. Java跨平台原理(字节码文件与JVM) 核心机制: Java源程序(.java)编译为与平台无关的字节码文件(.class),而非直接生成机器码。字节码由**Java虚拟机(JVM&#xf…

uniapp微信小程序:editor组件placeholder字体样式修改

一、问题描述 微信小程序editor组件的placeholder字体默认为斜体字,官方对此没有属性可以设置它的样式,并且直接在组件上设置样式也是无效的。 二、解决方案 通过审查节点: 可以看到editor的placeholder其实是在一个伪元素上。 在页面或者…

PhoneRescue 4.3绿色版!解决iPhone数据丢失、系统崩溃等场景

目录 一、引言二、软件介绍1. 研发背景与定位2. 兼容性与技术优势 三、功能介绍1. 数据恢复功能(核心痛点解决方案)2. 系统修复功能3. 数据管理辅助 四、软件特色1. 操作极简,零技术门槛2. 安全可靠,零数据风险3. 高效精准&#x…

Vue 快速入门

一、Vue是什么 Vue是一款用于构建用户界面的渐进式的JavaScript框架。 官网:Vue.js - 渐进式 JavaScript 框架 | Vue.js 其核心特性包括: 响应式数据绑定:通过 Vue 的响应式系统,数据变化会自动反映到视图,减少手动 D…

JAVA-JWT

JWT简介 JSON Web Token(JWT)是一个非常轻巧的规范,这个规范允许我们使用 JWT 在用户和服务器之间传递安全可靠的信息。一个 JWT 实际上就是一个字符串,它由三部分组成,头部、载荷与签名。前两部分需要经过 Base64 编…

UI前端大数据处理挑战与对策:保障数据安全与隐私

hello宝子们...我们是艾斯视觉擅长ui设计、前端开发、数字孪生、大数据、三维建模、三维动画10年经验!希望我的分享能帮助到您!如需帮助可以评论关注私信我们一起探讨!致敬感谢感恩! 一、引言:大数据时代的前端安全新挑战 在数字化转型的浪潮中,前端已从…

DTO、VO、POJO与实体类使用方案(结合Mapper.xml)

结合MyBatis的Mapper.xml文件,展示完整的层级数据流转和数据库操作。 1. 实体类优化(Entity) // User.java Data NoArgsConstructor AllArgsConstructor TableName("sys_user") public class User {TableId(type IdType.AUTO)pr…

开源|VDBBench 1.0正式官宣,完全复刻业务场景,支持用户自定义数据集

宣布个好消息,大家期待已久的VDBBench 1.0更新啦。 尝鲜链接: https://github.com/zilliztech/VectorDBBench/releases/tag/v1.0.0 对于这个功能的更新,我们准备了很久,也思考了很多。 因为对我们来说,VDBBench 从来不…

7,FreeRTOS列表与列表项的插入删除

一、实验目标 创建三个动态任务,栈空间大小均为128字。startTask、Task1、Task2。startTask仅运行一次,负责task1、task2任务的创建,startTask任务的删除。Task1负责初始化列表、列表项123,并进行列表项的插入实验与删除实验。Tas…

两款支持3D地图的WebGIS框架对比

前言 在当前的WebGIS技术发展中,3D地形图的可视化已经成为一个非常重要的功能,尤其是在城市规划、环境监测和虚拟旅游等领域中的应用。对于开发者而言,选择一个强大且适合的WebGIS框架是实现这些功能的关键。目前市场上较为流行的支持3D地形…

Github 2025-06-26 Go开源项目日报Top10

根据Github Trendings的统计,今日(2025-06-26统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Go项目10PureBasic项目1使用Gitleaks保护和发现机密信息 创建周期:2203 天开发语言:Go协议类型:MIT LicenseStar数量:14645 个Fork数量:13…

C++实现鱿鱼、羊了个羊、扫雷、原神模拟

C++ 鱿鱼游戏模拟实现 鱿鱼游戏中的经典场景可以通过C++模拟实现,例如“红绿灯”游戏。以下是一个简化版本的核心代码框架: #include <iostream> #include <thread> #include <chrono> #include <cstdlib> #include <ctime> #include <ve…

从用户到权限:解密 AWS IAM Identity Center 的授权之道

大家好&#xff0c;今天我们来解决一个非常具体的实战问题&#xff1a;如何让 IAM Identity Center 中创建的用户真正获得 AWS 账户的操作权限&#xff0c;从而取代老旧的 IAM 用户管理模式&#xff1f; 如果我们盯着用户详情页&#xff0c;想找一个“附加角色”的按钮&#x…

在 Spring Boot 中使用 MyBatis-Plus 的详细教程

前言 在现代的 Java Web 开发中&#xff0c;Spring Boot 和 MyBatis 已经成为主流框架组合。为了提升开发效率和简化数据库操作&#xff0c;MyBatis-Plus&#xff08;简称 MP&#xff09;应运而生。它是一个 MyBatis 的增强工具&#xff0c;在 MyBatis 的基础上只做增强不做改…

AI生成内容泛滥时代:从“袋鼠登机“视频看AI鉴伪与游戏智能的未来

近年来&#xff0c;AI生成内容的质量突飞猛进&#xff0c;从文本到图像再到视频&#xff0c;几乎达到了以假乱真的程度。近期一段"人类在飞机上吵架看呆袋鼠"的视频在社交网络疯传&#xff0c;获得数千万次观看后&#xff0c;才被证实是AI生成内容&#xff0c;这一事…

为什么在linux中不能直接使用pip进行安装

您好&#xff0c;这是一个非常深刻且关键的问题&#xff0c;触及了 Linux 系统管理与 Python 开发实践的核心原则。理解了这一点&#xff0c;您就真正开始像一位经验丰富的开发者那样思考了。 简单来说&#xff0c;答案是&#xff1a;为了保护操作系统自身的稳定和完整性。 让…

IDEA相关配置记录

IDEA相关配置记录 参考链接&#xff1a; 参考链接&#xff1a; 1、安装jdk D:\Program Files\Java\jdk-21 https://blog.csdn.net/2302_81410974/article/details/142031416 2、安装maven D:\Java\workspace-maven\apache-maven-3.9.10 . ├── LICENSE ├── NOTICE ├──…