目录
一、仓颉语言介绍
仓颉编程语言是一款面向全场景智能的新一代编程语言,主打原生智能化、天生全场景、高性能、强安全。主要应用于鸿蒙原生应用及服务应用等场景中,为开发者提供良好的编程体验。
1.1 语言特点
智能化:内嵌AgentDSL的编程框架,自然语言和编程语言有机融合;多Agent协同,简化符号表达,模式自由组合,支持各类智能应用开发。
全场景:轻量化可缩放运行时,模块化分层设计,内存再小也能装得下;全场景领域扩展,元编程和eDSL技术,支持面向领域声明式开发。
高性能:终端场景首款全并发GC,应用线程更流畅,响应更快。轻量化线程,并发性能更好,开销更少。
强安全:安全DNA融入语言设计,帮助开发者专注于业务逻辑,免于将太多精力投入到防御性编程中,编码即安全,漏洞无处藏。
1.2 应用场景
鸿蒙应用场景:在鸿蒙应用场景中,仓颉编程语言凭借对现代语言特性的集成、全方位的编译优化与运行时实现,以及开箱即用的IDE工具链支持,为开发者缔造了友好的开发体验和卓越的程序性能。此外,面向未来的鸿蒙AI原生应用开发,仓颉语言提供了面向开发者的全套内嵌Agent DSL的编程框架以及智能化开发工具,便于开发者高效地完成鸿蒙AI原生应用的开发工作。
服务端/云化场景:在云化场景中,仓颉编程语言提供了微服务应用开发框架,提供基于编译前处理模式的IOC容器、AOP切面编程、ORM和事务管理、端到端的异步请求以及与其他组件快速对接等能力,帮助开发者快速构建微服务应用,并且通过仓颉轻量级用户态线程以及高性能网络协议库,能够充分利用系统资源,高效开发出高性能云服务应用。同时,仓颉社区协同合作伙伴以及开发者,共同构建了丰富的三方库及中间件...
注意:本系列文章主要注重仓颉服务端进行详细介绍。
二、仓颉环境搭建
第一节我们已经介绍了仓颉编程语言,这一节我们将介绍仓颉的环境搭建,首先我们得先进入仓颉编程语言的官网:仓颉编程语言官网,如下图所示:
点击“下载”,进入到仓颉环境的下载页面,如下图所示:
选择中间的“半年更新”稳定版本,点击“即刻下载”,进入到详情页,如下图所示:
目前最新稳定环境版本是0.53.18,仓颉编程语言支持Windows系统,Mac系统和Linux系统,大家选择适合自己系统的环境安装即可。
下载好后,解压压缩包,如下图所示:
把“Cangjie-0.53.18-windows_x64”目录下的“cangjie”目录剪切出来,如下图所示:
删除多余的“Cangjie-0.53.18-windows_x64”目录。
接着在“开始菜单”里,找到“设置”,如下图所示:
在搜索栏搜索“环境变量”,如下图所示:
点击“环境变量”,如下图所示:
在“系统变量”那里,点击“新建”,如下图所示:
变量名:CANGJIE_HOME
变量值:D:\software\developer\cangjie\cangjie
如下图所示:
配置好后,点击“确定”,接着,在“系统变量”那里,找到“Path”,如下图所示:
点击“编辑”,进入编辑页,如下图所示:
点击“新建”,如上图所示进行配置
%CANGJIE_HOME%\bin
%CANGJIE_HOME%\lib
配置完成后,一直点“确定”即可。
接下来,我们来验证仓颉环境是否安装成功。
找到键盘上带有“win”标志或者有“win图标”标志的按键,按住它不松手,然后按住“R”键,打开“运行”窗口,如下图所示:
输入“cmd”,点击“确定”,打开“命令”窗口,如下图所示:
输入以下命令:
cjc -v
注意:cjc与-v之间有空格
如果有显示出仓颉环境的版本号,则表示仓颉环境安装成功,如下图所示:
环境安装完成后,接下来,开始安装仓颉编程语言的编译器,进入仓颉编程语言编译器官网:CodeArts IDE for Cangjie,这里需要登录华为账号,没有华为账号的小伙伴需要注册一个华为账号,华为账号的注册流程这里就不在做过多解释,仓颉官方编译器网页,如下图所示:
点击“下载使用”即可,下载完成后,点击“鼠标右键”,找到“以管理员身份运行”,如下图所示:
后面的安装步骤,直接跟着图片走即可。
注意:这里可以修改成自己的路径。
点击“完成”后,就可以进入编译器了,如下图所示:
以上就是仓颉环境搭建的所有内容。
三、Hello World
和众多编程语言一样,我们的第一个代码,就是成功输出:Hello World,接下来,我们开始新建工程。
这里,工程信息如下所示:
名称:Study
位置:D:\project\harmonyProject\cangjieProject
产物类型:executable
SDK位置:D:/software/developer/cangjie/cangjie
注意:位置可以修改成自定义的工程路径,SDK位置选择之前安装Cangjie环境时的目录,产物类型,在后面介绍,这里默认即可。
如下图所示:
这里介绍产物类型:
1. executable(可执行文件)
- 本质:它是能够直接运行的程序。
- 特点:
- 自身包含完整的程序代码以及运行时所需的全部依赖项,无需再借助外部组件就能运行。
- 一般是通过链接器把所有的目标文件和库整合到一起而生成的。
- 应用场景:用于生成独立的应用程序,像命令行工具、图形界面软件等都属于此类。
- 示例:当你使用仓颉语言编写了一个
main.cj
文件,然后经过编译可以生成app.exe
(在 Windows 系统下)或者app
(在 Unix/Linux 系统下)。
2. static(静态库)
- 本质:这是一种归档文件,它把多个目标文件打包成了一个文件。
- 特点:
- 在编译的时候,静态库会被完整地复制到最终的可执行文件中。
- 这样一来,生成的可执行文件就不再依赖于这个静态库,但文件体积会相对较大。
- 应用场景:适用于那些需要被多个程序复用的通用代码,例如基础工具函数库等。
- 示例:若你编写了一个数学库
math.cj
,将其编译成静态库后,其他程序在编译时可以链接这个库,从而获得相应的数学功能。
3. dynamic(动态库 / 共享库)
- 本质:这是一种在运行时才会被加载的库文件。
- 特点:
- 动态库不会被包含在可执行文件中,程序在运行时会动态地加载它。
- 多个程序能够共享同一个动态库,这样可以减少内存的占用。
- 不过,这也意味着系统中必须安装相应的动态库,否则程序将无法运行。
- 应用场景:常用于系统级别的库,比如图形驱动、数据库接口等。
- 示例:你编写了一个数据库驱动
db.cj
,将其编译成动态库,程序在运行时会动态加载这个库来实现数据库操作。
因此,在学习仓颉编程的过程中,创建的工程就默认第一个即可,然后点击“创建”,如下图所示:
仓颉的代码是写在“.cj”文件里的,文件里给我们生成好的代码就是Hello World代码,代码解释如下:
// 这个是包的声明,表示该main.cj是在Study这个工程包下的
package Study
/**
* 这个是main函数,是以后所写的所有代码的主入口,如果缺少main函数,在编译时会报错
*/
main(): Int64 {
// 输出函数,这里输出“Hello world”
println("hello world")
// main函数的返回值,详细内容在函数章节会着重讲解
return 0
}
鼠标左键点击“绿色三角按钮”,就可以运行该程序了,如下图所示:
四、小结
本章为大家详细的介绍了仓颉编程语言的特性、环境安装以及Hello World,下一章,为大家介绍变量和注释的内容。最后,创作不易,如果大家觉得我的文章对学习仓颉服务端开发有帮助的话,就动动小手,点个免费的赞吧!收到的赞越多,我的创作动力也会越大哦,谢谢大家🌹🌹🌹!!!