Module是HarmonyOS应用的基本功能单元,包含了源代码、资源文件、第三方库及应用清单文件,每一个Module都可以独立进行编译和运行。
模块化开发在现代软件开发中扮演着至关重要的角色,它通过将复杂的应用程序分解为多个独立的模块,不仅提高了代码的可维护性和可复用性,还显著增强了团队协作效率。每个模块专注于实现特定的功能,通过定义良好的接口与其他模块交互,这样的设计理念极大地降低了系统间的耦合度,使得在应对需求变更或系统升级时,开发者可以针对性地修改或替换特定模块,而无需重构整个应用。
例如:在官方案例hmosworld中就采取了模块化开发的方式
一个应用包含一个或者多个Module。
Module分为Ability类型和Library类型,
Ability类型Module:用于实现应用的功能和特性。Ability类型的模块编译后生成.HAP的文件,又称为HAP包,分为:
entry类型:应用的主模块,作为应用的入口,提供了应用的基础功能。
feaure类型:应用的动态特性模块,作为应用能力的扩展,可以根据用户的需求和设备类型进行选择性安装。
Library类型的Module:用于实现代码和资源的共享。
分为两种类型:
Static Library类型:静态共享库。编译后会生成一个以.har为后缀的文件,即静态共享包HAR(Harmony Archive)。
Shared Library类型:动态共享库。编译后会生成一个以.hsp为后缀的文件,即动态共享包HSP(Harmony Shared Package)。
模块之间如何调用
1.创建新的模块
创建成功后,我们可以看见Entry模块和test_library模块
2.在entry模块的on-package.json5文件中加上配置
配置格式为
"@ohos/ 模块名": "file:模块路径"
3.在test_library中写入功能
4.在test_library的index导出模块
5.最后就可以在entry模块使用test_library下的logger类了