在开发HarmonyOS应用时,默认创建的工程会有一个entry module,实际应用场景为了代码或者功能解耦,我们需要用到module来进行隔离。根据鸿蒙3.0/3.1/4.0官方指导,我们可以了解到关于module的类型,以及依赖关系,本篇文章将详细为大家介绍一下module的使用
准备
- 请按照鸿蒙官方中的"文档/指南"配置开发环境
- HarmonyOS 4.0系统手机
工程效果
备注:点击“entry 类型Module入口”可唤起feature类型Module中的特定页面
概念概况
应用研发
应用共分为四个module,名称分别为entry, harlibrary, hsplibrary, modulefeature
- entry: 应用主入口
- harlibray: 实践entry如何依赖共享静态库
- hsplibrary: 实践entry如何依赖共享动态库
- modulefeature: 实践entry如何使用feature
创建harlibray
创建module ----> har依赖
har依赖文档中,可参考“引用本地文件夹,有如下两种方式”字样描述。
注意:folder,在文档中没有注明规则,你可以参考本篇文章中的设置,必须以@ohos开头,否则在entry模块中引用时会报错
创建hsplibrary
创建module----> hsp依赖(同 har依赖)
备注:本篇文章实践中,创建了一个CustomComponent.ets文件,用于渲染文本,最终会被entry 模块中的index.ets文件调用
创建modulefeature
在DevEco Studio中,由于已经存在了一个entry类型module, 因此,在按照Empy Ability模版创建时,类型默认只能是feature
更多鸿蒙开发应用知识已更新gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md参考前往。
添加依赖
- entry依赖harlibrary- 工程根目录/oh-package.json5中添加如下依赖, 注意:“@ohos”必须要,"harlib"属于自己取的名字,“file:”也是固定开头-
"dependencies": { "@ohos/harlib": "file:harlibrary" },复制
- entry依赖hsplibrary- 工程根目录/entry/oh-package.json5中添加如下依赖, 注意:“@ohos”必须要,"hsplib"属于自己取的名字-
"dependencies": { "@ohos/hsplib": "../hsplibrary" }复制
- entry依赖modulefeature- 其实不能叫做依赖,‘共存“更为合适- entry 如果想要使用modulefeature中的UIAbility,需要先将modulefeature一同打包进入.app中,基本操作步骤如下, 亦可参考官网文档。
编译安装
在工具栏选择"entry"模块,点击绿三角图标,即可完成编译安装。
备注: 注意要添加签名,否则无法安装
鸿蒙值得开发者入行
为什么这么说?市场是决定人力需求的,数据说话最管用:
1、鸿蒙其全栈自研,头部大厂商都陆续加入合作开发鸿蒙原生应用——人才需求上涨。
2、鸿蒙作为新系统、新技术,而现在市面上技术人才少——高薪招聘开启。
3、鸿蒙1+8+N生态,不仅只有应用开发;还有车载、数码、智能家居、家电等——就业范围广。
4、纯血鸿蒙,目前没有多少人熟悉。都处于0基础同一起跑线——无行业内卷。
开发者最需要什么?岗位多、薪资高、不内卷、行业竞争低。而当下的鸿蒙恰恰符合要求。
那么这么好的鸿蒙岗位,应聘要求都很高吧?其实不然鸿蒙作为新出的独立系统,其源头上大家都处于同一水平线上,一开始的技术要求都不会很高,毕竟面试官也是刚起步学习。招聘要求示例:
从信息看出,几乎应职要求是对标有开发经验的人群。可以说鸿蒙对开发者非常友好,尽管上面没提鸿蒙要求,但是面试都会筛选具有鸿蒙开发技能的人。我们程序员都知道学习开发技术,最先是从语言学起,鸿蒙语言有TS、ArkTS等语法,那么除了这些基础知识之外,其核心技术点有那些呢?下面就用一张整理出的鸿蒙学习路线图表示:
从上面的OpenHarmony技术梳理来看,鸿蒙的学习内容也是很多的。现在全网的鸿蒙学习文档也是非常的少,下面推荐一些:完整内容可在头像页保存,或这qr23.cn/AKFP8k甲助力
内容包含:
- ArkTS
- 声明式ArkUI
- 多媒体
- 通信问题
- 系统移植
- 系统裁剪
- FW层的原理
- 各种开发调试工具
- 智能设备开发
- 分布式开发等等。
这些就是对往后开发者的前景分享,希望大家多多点赞关注喔!
版权归原作者 爱桥代码的程序媛 所有, 如有侵权,请联系我们删除。