前言
鸿蒙应用开发已经成为互联网新的风口,开发鸿蒙软件已经成为今年工作的核心目标。在软件开发过程中,对于复杂度较大,功能较多的软件都会采用组件化项目架构,那么对于鸿蒙应用开发是否也能实现组件化呢?本文将详细讲解HarmonyOs组件化项目搭建的全过程,带领大家实现一个组件化项目。
项目创建
- 首先创建一个项目工程,点击开发工具DevEco-Stdio的File选项,选择New然后点击Create Project。
- 选择创建一个EmptyAbility,然后直接下一步,创建工程。
- 工程主要包括一个entry模块,可以理解为Android的app主模块。
公共库创建及使用
创建公共库Common组件。
- 在工程目录中,单机鼠标右键,选择New选项,然后在弹出的页面中选择Module。
- 在弹出的页面中,选择创建一个静态库Static Library。
- 然后点击Next,修改静态库的名称为common。
- 点击完成后,编译器会自动在项目的根目录的build-profile.json5文件中添加common模块。
- 添加项目依赖,common作为公共库,需要提供给其他模块使用,这里以entry为例,添加模块依赖,如下图所示。
- 至此,一个公共库common就创建完成了。
功能模块创建使用
一个功能复杂庞大的app不仅有公共模块,还有许多子模块构建而成。创建流程如下:
- 在工程目录中,单机鼠标右键,选择New选项,然后在弹出的页面中选择Module。
- 在弹出的页面中,选择创建一个共享库Shared Library。
- 然后点击Next,修改静态库的名称为login。
- 点击完成后,编译器会自动在项目的根目录的build-profile.json5文件中添加login模块。
- 添加项目依赖,login作为子模块,需要被entry依赖调用,添加模块依赖,如下图所示。
- 到目前为止子模块也创建完成。
模块路由跳转
前面创建分别创建了公共库和子模块,如何从主模块entry跳转到子模块login,或者子模块之间互相跳转呢?
-
HarmonyOs在页面跳转时提供了router实现路由跳转。需要跳转的目标页面必须满足两个条件,@Entry修饰struct 和路由注册。被@Entry修饰的struct才是一个独立页面。同时需要在main_pages.json中注册路由。
-
在common中定义完整路径。不同子模块都会依赖公共静态库common。然后在common中定义目标页面的全路径。
全路径主要由三部分组成。分别是@bundle: 代表模版。 然后是 包名 com.cms.mmvm。最后是模块名+目标页面的全路径。
-
使用export关键字导出 ConstantRouter类,提供给其他模块调用。
-
引入ConstantRouter类,调用类中定义的路由。
总结
–
HarmonyOs组件化的使用,有利于模块之间的解耦及大型项目的共同开发。随着鸿蒙生态的不断完善,学习鸿蒙开发势必成为新的趋势。也是广大同行新的选择。
写在最后
鸿蒙战略胜利,目前鸿蒙开发是一个急需要人才的缺口,在未来几年势必会有大量的鸿蒙岗位出现,目前所存在的鸿蒙岗位也是给出了相当高的薪资。事实证明,鸿蒙开发确实是一块香饽饽。作为华为自家的操作系统,正在逐步扩张市场份额。想要转行或者入行的朋友可以下手了。在这里,为大家提供一份我整理的鸿蒙开发学习资料,涵盖了UI开发、web、应用模型多个知识点,有需要的朋友可以扫描下方二维码,免费获取更多相关资料。
一、鸿蒙进阶开发学习之UI开发
1、方舟开发框架(ArkUI)概述
2、基于ArkTS声明式开发范式
3、兼容JS的类Web开发范式
二、鸿蒙开发进阶学习之web
1、设置基本属性和事件
2、在应用中使用前端页面JavaScript
3、并发
4、…
三、鸿蒙开发进阶学习之应用模型
1、应用模型概述
2、Stage模型开发指导
3、FA模型开发指导
四、鸿蒙零基础入门学习指南
1、快速入门
2、开发基础知识
3、资源分类与访问
4、学习ArkTs语言