HarmonyOS鸿蒙Next中写项目建议建模块写 还是不建模块写

发布于 1周前 作者 itying888 来自 鸿蒙OS

HarmonyOS鸿蒙Next中写项目建议建模块写 还是不建模块写 写项目建议建模块写 还是不建模块写

3 回复

一个APP是可以有多个模块的,但只能有一个entry模块(入口模块),多个feature模块。模块打包后,都会编译成HAP。即一个APP下面会有多个HAP。HAR静态共享包,HSP动态共享包。HAR会打包到HAP里,HSP可以被多个HAP引用,打包时不会打进HAP里,可以理解为特殊的HAP。
当只有一个模块使用时,用HAR,多个模块使用时用HSP。

HAP是具有元能力的module,能够独立运行,不会打入到别的模块中。

HAR是静态共享包module,不具备元能力,不能独立运行,同一个HAR在不同模块中使用时都会产生一份相同的编译产物。

模块化设计优点:应用被分解为多个功能模块,其中每个模块负责执行特定的功能。通过模块化设计提高了代码的可理解性和可复用性,使应用的扩展和维护变得更为简便,同时降低了系统各部分之间的耦合度。

当只有一个模块使用时用HAR,多个模块使用时用HSP,HSP可以被多个HAP引用,打包时不会打进HAP里,可以理解为特殊的HAP。

HAP:HAP是OpenHarmony应用安装的基本单位,包含了编译后的代码、资源、三方库及配置文件,而且在云端分发和端侧安装时,都是以HAP为单位进行分发和安装的。

HAR:HAR是静态共享包,可以包含代码、C++库、资源和配置文件,只能作为应用模块的依赖项被引用。打包构建时,HAR的编译产物会被放入HAP中,作为HAP的一部分。当HAR在项目中有被多个模块使用方时,使用它的HAP中都拥有一份相同的HAR编译产物。

HSP:HSP是动态共享包,可以包含代码、C++库、资源和配置文件,作为应用模块的依赖项被引用。相较与HAR,HSP中的代码和资源可以独立编译,运行时与应用在同一个进程中,代码只存在一份。应用安装时HSP将会随HAP依次安装至设备中。

具体HAP还是HAR需要您自己根据项目情况判断。

当前不支持多HAP之间通过router进行跳转,HAP需要通过startAbility启动。需要跨模块跳转的话,还是需要采用HAR/HSP的模式:涉及HAR/HSP共享包的路由跳转,可使用命名路由。参考链接:

HUAWEI开发者中心 - 命名路由

涉及HSP的跳转,还可以参考:

HUAWEI开发者中心 - HSP跳转

更多关于HarmonyOS鸿蒙Next中写项目建议建模块写 还是不建模块写的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,建议采用模块化开发方式。模块化开发有助于代码的组织和管理,提高代码的复用性和可维护性。通过将功能划分为独立的模块,可以降低代码的耦合度,便于团队协作开发。此外,模块化开发还能提升项目的可扩展性,便于后续功能的添加和修改。因此,在鸿蒙Next中,采用模块化开发方式更为合适。

在HarmonyOS鸿蒙Next中,建议采用模块化开发方式。模块化有助于代码的维护和复用,提升开发效率。通过将功能分解为独立模块,可以降低代码耦合度,便于团队协作和未来扩展。同时,鸿蒙Next的开发框架支持模块化设计,结合其组件化思想,能更好地发挥系统优势。因此,建议在项目中建立模块进行开发。

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!