连续分享了很多天鸿蒙仓颉语言的开发教程,大家现在应该都知道鸿蒙开发有ArkTs和仓颉两种开发语言,这两种语言有些相似,而且还支持混合开发,今天就分享一下怎么实现ArkTs和仓颉的混合开发,分不清这两种语言的友友今天可能要头疼了。

官方文档对这两种语言的混合开发进行了非常大篇幅非常详细的介绍,但是幽蓝君自己学习完之后感觉不用那么麻烦,因为编译器能帮我们做绝大多数的工作。

首先打开DevEco Studio新建项目,此处选择CangJie Hybrid即可创建混合开发项目:

看一下创建后的结构目录:

可以看到项目中分别有cangjie的目录和ArkTs的项目目录,大家仔细看一下可以发现项目的入口文件是在ArkTS目录中的,就是说虽然创建项目选择的是仓颉混编项目,其实是仓颉代码依附在ArkTs的项目上,所以在混合开发项目运行过程中的页面控制器和主线程大都和仓颉无关,除后端功能以外,仓颉负责的部分主要是开发组件。

说的更简单一点,在混编项目中,ArkTS的页面可以嵌入仓颉的部分UI,而仓颉则不可以创建单独的页面。所以在混编项目中页面的生命周期和路由跳转也都和仓颉无关。

下面分享下详细的开发过程。

新创建的项目为我们演示了ArkTs如何调用仓颉中的方法,幽蓝再介绍下ArkTs如何引用仓颉的组件。

首先在cangjie文件夹右键创建空白仓颉页面,创建完成后在cangjie文件夹下新增了.cj文件,不光如此,在Arkts目录中新增了名字相同的.ets文件:

这是编译器自动帮我们完成了封装工作,现在我们想要跳转仓颉页面只需要跳转同名的ArkTs页面就行了。

看一下这个自动创建的页面的代码,就是创建了一个ArkTS页面并引入封装好的仓颉开发的组件。

所以混合开发我们要做的工作就是在仓颉文件中写仓颉,在ArkTS文件中写ArkTS,其他所有的工作编译器都替我们做了,鸿蒙对开发者实在是太太太友好了。

最后有一些感慨,幽蓝君从业十年,熟识多种开发语言,有的面向对象,有的面向过程,有的注重性能。鸿蒙的ArkTs和仓颉是唯二的为开发者考虑的开发语言,让常见在软件背后默默敲代码的老程序员觉得无比感动。

今天就到这吧,感谢大家阅读。##HarmonyOS语言##仓颉##购物#

详解HarmonyOS NEXT系统中ArkTS和仓颉的混合开发的更多相关文章

  1. 详解在Linux系统中安装Tomcat

    本文以在CentOS 7.6中安装Tomcat8.5为例进行安装,其他系统和版本都是大同小异的. 安装JDK 安装Tomcat之前,需要先安装JDK,可以参看之前的文章详解在Linux系统中安装JDK ...

  2. [linux]top命令详解-实时显示系统中各个进程的资源占用状况

    简介 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器. top显示系统当前的进程和其他状况,是一个动态显示过程,即可以通过用户按 ...

  3. 详解在Linux系统中安装JDK

    本文以在CentOS 7.6中安装JDK8为例进行安装,其他系统和版本都是大同小异的. 下载 进入Oracle官方网站的下载页面. 首先,接受许可协议,如下图: 然后,根据Linux系统的位数选择要下 ...

  4. 图文详解在Windows系统中安装JDK

    本文以在Windows10中安装JDK8为例进行安装,其他系统和版本都是大同小异的. 下载 进入Oracle官方网站的下载页面:https://www.oracle.com/technetwork/j ...

  5. 详解Windows 7系统中IE8/IE9/IE10三个版本的关系(转)

    今年(2013)年初,微软开放了姗姗来迟的 IE10 for Windows 7 版本下载.至此,Windows 7 平台上可以运行三个 IE 浏览器版本.虽然 Windows 与 IE 经历了诸多版 ...

  6. Unity Jobsystem 详解实体组件系统ECS

    原文摘选自Unity Jobsystem 详解实体组件系统ECS 简介 随着ECS的加入,Unity基本上改变了软件开发方面的大部分方法.ECS的加入预示着OOP方法的结束.随着实体组件系统ECS的到 ...

  7. 详解Linux下iptables中的DNAT与SNAT设置(转)

    详解Linux下iptables中的DNAT与SNAT设置 这篇文章主要介绍了Linux下iptables中的DNAT与SNAT设置,是Linux网络配置中的基础知识,需要的朋友可以参考下   原文连 ...

  8. Java网络编程和NIO详解1:JAVA 中原生的 socket 通信机制

    Java网络编程和NIO详解1:JAVA 中原生的 socket 通信机制 JAVA 中原生的 socket 通信机制 摘要:本文属于原创,欢迎转载,转载请保留出处:https://github.co ...

  9. 详解如何在CentOS7中使用Nginx和PHP7-FPM安装Nextcloud

    转载地址:https://www.jb51.net/article/109382.htm 这篇文章主要介绍了详解如何在CentOS7中使用Nginx和PHP7-FPM安装Nextcloud,会通过 N ...

  10. Scala 深入浅出实战经典 第61讲:Scala中隐式参数与隐式转换的联合使用实战详解及其在Spark中的应用源码解析

    王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载: 百度云盘:http://pan.baidu.com/s/1c0noOt ...

随机推荐

  1. Trae 开发工具与使用技巧

    大家好,我是 V 哥. 前不久,字节重磅推出 AI 原生 IDE Trae,有了这款工具,程序员的开发效率得到了大大的提升,如何你是程序员,还没有使用起来,那 V 哥建议你即刻起马上安装上,谁用谁知道 ...

  2. NumPy学习6

    今天学习 NumPy位运算 12, NumPy位运算NumPy 中提供了以下按位运算函数:numpy按位运算函数序号 函数 位运算符 描述说明1 bitwise_and & 计算数组元素之间的 ...

  3. TCP协议详细介绍

    TCP报文格式: 字段介绍: 源/目的端口:用来标识主机上的程序 序号(seq):4个byte,指当前tcp报文段中第一个字节的序号(tcp报文中每个字节都有一个编号) 确认号(ack):4个byte ...

  4. 多维度实测DeepSeek新模型DeepSeek-V3-0324,编程能力超强!

    大家好,我是六哥!今天必须给大伙唠唠DeepSeek全新v3.就在昨晚,DeepSeek悄没声儿地在Huggingface上发布了DeepSeek-V3-0324.虽说不是全新模型,可能力提升那叫一个 ...

  5. Netty源码—10.Netty工具之时间轮

    大纲 1.什么是时间轮 2.HashedWheelTimer是什么 3.HashedWheelTimer的使用 4.HashedWheelTimer的运行流程 5.HashedWheelTimer的核 ...

  6. Quartz.NET - 教程 12: Quartz 的其他特性

    译者注: 目录在这 Quartz.NET 3.x 教程 原文在这 Lesson 12: Miscellaneous Features of Quartz 插件 Quartz 提供了一个用于插入附加功能 ...

  7. Docker安装及使用,Docker 安装MySQL、安装Tomcat、安装RabbitMQ

    CentOS7安装Docker Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE. 社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收费服务,比如经 ...

  8. Java 的 G1 垃圾回收流程

    Java 的 G1 垃圾回收流程 G1(Garbage-First)垃圾收集器 是一种区域化.并发.低延迟的垃圾回收器,适合大堆内存和对暂停时间有严格要求的应用程序.G1 的垃圾回收流程主要包括以下阶 ...

  9. 一个 CTO 的深度思考

    今天和一些同事聊了一会,以下是我的观点 我的观点,成年人只能筛选,不能培养 在组织中,应该永远向有结果的人看齐.不能当他站出来讲话的时候,大家还要讨论讨论,他虽然拿到结果了,但是他就是有一点点小问题. ...

  10. Tortoise-ORM与FastAPI集成:异步模型定义与实践

    title: Tortoise-ORM与FastAPI集成:异步模型定义与实践 date: 2025/04/20 11:38:23 updated: 2025/04/20 11:38:23 autho ...