一文带你读懂鸿蒙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。

相关推荐
xq952726 分钟前
鸿蒙next 获取验证码输入框 重磅来袭
harmonyos
别说我什么都不会27 分钟前
【仓颉三方库】 数据解析——yaml4cj
harmonyos
HMSCore1 小时前
如何实现应用内支付零掉单?
harmonyos
梁下轻语的秋缘5 小时前
HarmonyOs学习 环境配置后 实验1:创建项目Hello World
学习·华为·harmonyos
少年的云河月5 小时前
OpenHarmony Camera开发指导(五):相机预览功能(ArkTS)
harmonyos·openharmony·camera·相机开发
Hello_MyDream5 小时前
鸿蒙语言基础
华为·harmonyos
杯莫停丶5 小时前
对象池模式在uniapp鸿蒙APP中的深度应用
uni-app·harmonyos·鸿蒙
simple_lau7 小时前
浅谈鸿蒙多线程
harmonyos·arkts·arkui
simple_lau7 小时前
鸿蒙开发如何与穿戴设备通讯
harmonyos·arkts·arkui