动态共享包(HSP)开发是DevEco Studio 3.1 Release版本带来的新特性,基于新的编译方式,提供运行态共享能力,可以有效加快编译速度,减小HAP包的体积。
1 动态共享包引入
以往使用的JSBundle化编译方案,因每个入口page都会打包成一个bundle包,且不支持运行态共享,当修改单个模块文件,需要整包重新编译打包,会导致编译消耗的时间变长,也会导致HAP包的体积变大,从而影响了HarmonyOS应用开发效率和开发者体验。
Bundle化打包过程示意图
为了提升开发效率和开发者体验,DevEco Studio提供模块化编译方式,模块之间相互独立编译,可以加快编译速度。同时,为了减少包体积,支持将多个模块通用的能力和资源提取,作为动态共享包(HSP)供其他模块或者应用使用。
2 什么是模块化编译?
模块之间相互独立编译,编译速度更快
应用内模块化编译方式使用原生ES Module规则构建源码,解决了Bundle编译打包模式引入的问题,进而让工程中的资源文件,以独立模块的形式进行编译。