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

相关推荐
aqi008 小时前
鸿蒙版本的电子书阅读APP开放源码啦
android·华为·ai编程·harmonyos·鸿蒙
xq952712 小时前
HDC Assistant 插件横空出世
harmonyos
OH_TPC19 小时前
【鸿蒙优选三方库】@ohos/aki:一行代码让 ArkTS 调 C++
harmonyos
wenyiyiyiyiyi20 小时前
我用鸿蒙 ArkTS 写了个自己天天用的备忘录:待办、课表和长期目标,全塞进一块桌面卡片
harmonyos
承渊政道1 天前
鸿蒙设备远控电脑实测:ToDesk蓝牙键鼠、双模式鼠标、跨端剪贴板,远控电脑更顺手了
计算机外设·电脑·harmonyos·远程工作·todesk
CV工程师丁Sir1 天前
ArkWeb 手记 04|DevTools 调试与缓存清理
java·spring·缓存·harmonyos
程序猿追2 天前
HarmonyOS 6 上做个极简浏览器:Web 组件 + 前进后退 + 加载进度
前端·华为·harmonyos
程序猿追2 天前
HarmonyOS 6 音视频实战:用 AVPlayer 做一个本地音乐播放器
华为·音视频·harmonyos
威哥爱编程2 天前
HarmonyOS 7 多设备 UX 自动检测实战:AppAnalyzer 多设备体检 + 一多工程底线,提前拦截截断重叠大图大字
harmonyos
威哥爱编程2 天前
HarmonyOS 7 安全相机 2.0 实战:数字内容溯源,为拍摄内容提供来源保护
harmonyos