鸿蒙开发 ,hap hsp har 区别及选择

此文章内容兼容API12,使用harmony next应用开发

解释:
1,HAP:Harmony Ability Package,鸿蒙 ability 包
2,HAR:Harmony Archive Package,鸿蒙静态共享包 .har
3,HSP:Harmony Shared Package,鸿蒙动态共享包 .hsp


区别:

1,鸿蒙的 module 分为 AbilityLibrary 两种类型
2,Ability类型的module,编译后生成 hap。
hap 分为 EntryFeature 两种类型,Entry 代表主模块,Feature代表动态特性模块,在模块下的 module.json5 处定义

{
  "module": {
    "name": "entry",
    "type": "entry",
  ...
  }
}

3,HAR 静态共享包

 "type": "har"
  • 编译时复用
  • 模块每引用一次,就会复制一份har包,造成重复拷贝
  • 不同hap引用同一个har包,无法实现数据共享
  • 支持应用内共享,也可以独立发布后供其他应用使用

4,HSP 动态共享包

 "type": "shared"
  • 运行时复用
  • 多个模块同时引用时,代码只会存在一份。,解决重复拷贝问题
  • 支持数据共享
  • 仅支持应用内共享

5,HAR 和 HSP均不可以独立运行,HAP可以


HAR vs HSP

使用建议:
1,开发者开发的模块,需要作为三方库供给其他应用依赖,只能使用HAR
2,建议业务组件使用 HSP,通用组件封装成 HAR

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容