基本介绍

包可以进行多Module设计,有以下好处

Module类型按照使用场景分有两种类型:

其中har和hsp使用区别为:

Model类型使用场景:

开发态和编译打包后的工程结构示意图

HAR约束限制:

HSP约束限制:

HAP约束限制:

最佳实践:

不包含按需加载模块

单hap工程设计实践:

包含HSP按需加载模块

APP SIZE优先:

涉及原则性能优先:

说明:多HAP工程一般为大企业,拥有丰富生态,跨平台应用,集群app才使用,暂不说明。

总结

应用开发者需根据技术架构选择适合的工程模块化模型。工程模块化模型需根据业务和技术架构演进而演进。根据诉求在HAP、HAR和HSP中选择使用。

对于具备独立运行和安装的模块只能选择HAP包,并将其作为Feature类型的HAP存在于App中;对于不具备独立特性部分,用户使用频率较少的模块,将其做成HSP按需加载模块存在于App中。对于需要共享的模块,只能采用HAR包,将其通过OHPM仓共享给其他工程使用。而HAR是静态共享库,在多HAP或者按需加载场景下,在编译后可能会在物理上存在多份,所以需要合理采用公共HSP模块壳,使App Size最小化。

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐