连续分享了很多天鸿蒙仓颉语言的开发教程,大家现在应该都知道鸿蒙开发有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. git 合并分支 merge

    git 分支开发 git 分支开发,分支(feature)同步主干(master)代码,以及最终分支合并到主干的操作流程   由于 rebase 执行速度慢,分支同步主干代码时,分支的每次提交都可能和 ...

  2. Centos下安装php mysql pdo以及gd扩展

    pdo扩展安装: yum install php-pdo pdomysql扩展安装: yum install php-pdo_mysql gd库扩展安装: yum install php-gd 安装后 ...

  3. MongoDB入门介绍与案例分析

    一.MongoDB 数据库定位 首先我们来看一下 MongoDB 是什么样的数据库.数据库分两大类: OLTP(Online Transaction Processing)联机事务处理. OLAP(O ...

  4. 超值分享:ASN.1格式解析源码(未使用openssl),有助于分析证书、私钥等文件

    源码下载地址  --下载服务由我的HttpServer服务器提供 一款简单的ASN.1格式解析工具,可将ASN.1格式输出,是你分析证书.私钥等文件的必备良器,比如查看公钥大数.私钥大数.加密算法.H ...

  5. SOA架构和微服务架构的区别

    1.SOA架构和微服务架构的区别 首先SOA和微服务架构一个层面的东西,而对于ESB和微服务网关是一个层面的东西,一个谈到是架构风格和方法,一个谈的是实现工具或组件. 1.SOA(Service Or ...

  6. 系统自带模版在 emlog pro 1.8.0 底部信息错位问题暂时的解决方案

    问题描述 作为一名 emlog 爱好者,笔者闲暇时间经常为 emlog 系统的 Github 仓库里( https://github.com/emlog/emlog )提 pr 和修修补补,就像其他知 ...

  7. [源码系列:手写spring] IOC第七节:加载xml文件中定义的Bean

    目录 主要内容 代码分支 核心代码 BeanDefinitionReader AbstractBeanDefinitionReader XmlBeanDefinitionReader 测试 bean定 ...

  8. 使用 PHP 创建 Excel 读取器类

    介绍: PHPExcel-1.8.1读取excel 创建 ExcelReader 类: ExcelReader 类旨在从 Excel 文件中读取数据.它以文件路径作为输入,并提供一个方法来从 Exce ...

  9. CoreOS 手动更新

    以阿里云 ECS 安装的 CoreOS 为例,你家装的 CoreOS 基本也一样啦. 查看和修改更新组 第一个问题:"什么是更新组?",请先看CoreOS 发行版本介绍 # 查看更 ...

  10. Java中的常见排查问题命令

    一.线上服务排查,从三个方面负载.cpu.内存 这三个方面着手 1:top 命令是比较常见的,也是最常用的,因为他显示的信息也是最全的 2:针对负载的问题,我们怎么能确定负载当前是高还是低? 一般来说 ...