【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
英文地址,請注明出處:http://en.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 ├──…