一文带你读懂鸿蒙Stage模型开发运行期和编译期概念

运行期概念

  1. Context 及其继承关系

    • Context:是基础上下文,提供应用运行时的环境信息,如资源访问等。
    • AbilityStageContext:继承自 Context,为 AbilityStage 提供上下文,包含与 AbilityStage 生命周期等相关的信息。
    • UIAbilityContext:继承自 AbilityStageContext ,为 UIAbility 提供上下文,包含 UI 相关的环境信息。
    • 举例:好比一个公司(Application)里,Context 是公司整体的基础环境设定,AbilityStageContext 是某个部门(AbilityStage)的工作环境设定,UIAbilityContext 是部门里负责对外展示(UI 相关)工作的环境设定。
  2. Application 相关

    • Application:代表整个应用程序,持有一个 ApplicationContext ,负责应用的全局管理,如初始化、资源管理等。
    • 举例:就像一个公司的管理层,负责统筹公司整体的运营、资源调配等事务。
  3. AbilityStage 相关

    • AbilityStage:应用程序的一个逻辑阶段,一个 Application 可持有多个 AbilityStage 。它持有一个 AbilityStageContext ,管理 UIAbility 和 ExtensionAbility 等。
    • 举例:类似于公司里不同的项目组,每个项目组(AbilityStage)有自己的工作内容,由管理层(Application)统筹,项目组有自己的工作环境设定(AbilityStageContext )。
  4. UIAbility 相关

    • UIAbility:具备用户界面的能力组件,一个 AbilityStage 可持有多个 UIAbility 。它持有一个 UIAbilityContext ,并关联 WindowStage。
    • 举例:像项目组里负责做具体展示界面的小组,比如开发 APP 界面功能的小组,有自己特定的工作环境(UIAbilityContext ) ,并且和展示窗口(WindowStage)相关联。
  5. WindowStage 相关

    • WindowStage:管理窗口相关的逻辑,一个 UIAbility 持有一个 WindowStage 。
    • 举例:好比展示小组(UIAbility)用来展示成果的舞台框架(WindowStage) ,负责窗口的基本布局等逻辑。
  6. Window 和 ArkUI Page

    • Window:是可视化窗口,一个 WindowStage 持有一个 Window 。
    • ArkUI Page:是使用 ArkUI 框架构建的页面,一个 Window 可持有多个 ArkUI Page 。
    • 举例:Window 就像舞台(WindowStage)上实际的展示屏幕,ArkUI Page 就是在屏幕上展示的一个个具体的内容页面,比如 APP 里不同的功能页面。
  7. ExtensionAbility

    • ExtensionAbility:扩展能力组件,一个 AbilityStage 可持有 0 个或多个 ExtensionAbility ,用于扩展应用的功能。
    • 举例:类似项目组里负责额外功能开发的小组,不是每个项目组都必须有,但有了可以增加项目组的功能丰富度。

编译期概念

  • App 和 HAP

App

  • 作用:代表整个应用程序在编译期的抽象概念,是对应用整体的一种规划和定义范畴。它涵盖了应用的所有功能模块、资源等相关内容的集合,用于从宏观层面界定应用边界和整体架构。
  • 举例:比如一个社交类 App,它在编译期就被定义为包含用户登录注册、消息收发、好友管理等一系列功能模块的整体程序集合。

HAP(HarmonyOS Ability Package)

  • 作用

    • 可分发单元:是鸿蒙应用的可独立分发的基本单元,开发者可以将不同功能模块打包成不同的 HAP,方便在不同场景下进行应用分发,比如针对不同设备特性提供特定的 HAP。
    • 功能模块化封装:用于封装 Ability(能力)相关的代码、资源等,实现应用功能的模块化。每个 HAP 可以包含一个或多个 Ability,使得应用开发可以按功能模块进行独立开发、测试和维护。
    • 资源隔离与管理:不同 HAP 可以管理各自的资源,实现资源的隔离和独立管理,提高资源管理的效率和安全性。
  • 举例:一个大型办公软件 App,可能会有文档编辑 HAP、表格处理 HAP、演示文稿制作 HAP 等。用户在下载安装时,可根据需求选择安装部分 HAP,或者根据设备类型(如手机、平板、电脑)适配安装不同的 HAP ;开发时各功能模块团队可独立开发维护各自对应的 HAP。

相关推荐
zhanshuo11 小时前
在鸿蒙里优雅地处理网络错误:从 Demo 到实战案例
harmonyos
zhanshuo11 小时前
在鸿蒙中实现深色/浅色模式切换:从原理到可运行 Demo
harmonyos
whysqwhw16 小时前
鸿蒙分布式投屏
harmonyos
whysqwhw17 小时前
鸿蒙AVSession Kit
harmonyos
whysqwhw19 小时前
鸿蒙各种生命周期
harmonyos
whysqwhw20 小时前
鸿蒙音频编码
harmonyos
whysqwhw20 小时前
鸿蒙音频解码
harmonyos
whysqwhw20 小时前
鸿蒙视频解码
harmonyos
whysqwhw20 小时前
鸿蒙视频编码
harmonyos
ajassi200020 小时前
开源 Arkts 鸿蒙应用 开发(十八)通讯--Ble低功耗蓝牙服务器
华为·开源·harmonyos