Ability Kit(程序框架服务)提供了应用程序开发和运行的应用模型,是系统为开发者提供的应用程序所需能力的抽象提炼,它提供了应用程序必备的组件和运行机制。有了应用模型,开发者可以基于一套统一的模型进行应用开发,使应用开发更简单、高效。

使用场景

  • 应用的多Module开发:应用可通过不同类型的Module(HAPHARHSP)来实现应用的功能开发。其中,HAP用于实现应用的功能和特性,HAR与HSP用于实现代码和资源的共享。
  • 应用内的交互:应用内的不同组件之间可以相互跳转。比如,在移动办公应用中,通过入口UIAbility组件启动视频会议的UIAbility组件。详见启动应用内的UIAbility组件
  • 应用间的交互:当前应用可以启动其他应用,来完成某个任务或操作。比如,在购物类应用中购买商品时,可以跳转到支付应用完成支付。详见应用间跳转
  • 应用的跨设备流转:通过应用的跨端迁移和多端协同,获得更好的使用体验。比如,在平板上播放的视频,迁移到智慧屏继续播放。详见自由流转

能力范围

  • 提供应用进程创建和销毁、应用生命周期调度能力。
  • 提供应用组件运行入口、应用组件生命周期调度、组件间交互等能力。
  • 提供应用上下文环境、系统环境变化监听、组件生命周期监听等能力。
  • 提供启动框架能力,详见启动框架
  • 提供意图框架能力,详见意图框架概述
  • 提供应用流转能力。
  • 提供多包机制、共享包、应用信息配置等能力,详见应用程序包概述
  • 提供应用快捷方式能力,详见快捷方式
  • 提供程序访问控制能力,详见访问控制概述
  • 提供安全密码自动填充能力,详见密码自动填充服务概述

亮点/特征

  1. UI与业务逻辑分离

    从架构设计层面,规范开发者编写业务逻辑和UI交互分离的开发方式。

    • 从业务逻辑层到UI:开发者在Ability中完成核心业务逻辑,将数据通过绑定机制传递至UI框架。ArkUI基于声明式语法自动渲染视图,并在状态变更时触发UI更新。
    • 从UI到业务逻辑层:通过捕获用户在UI交互中的输入后,通过事件回调或状态绑定机制,将用户行为产生的数据反向同步至Ability框架。
  2. 支持应用组件级的跨端迁移和多端协同

    Stage模型实现了应用组件与UI解耦。

    • 在跨端迁移场景下,系统在多设备的应用组件之间迁移数据/状态后,UI便可利用ArkUI的声明式特点,通过应用组件中保存的数据/状态恢复用户界面,便捷实现跨端迁移。
    • 在多端协同场景下,应用组件具备组件间通信的RPC调用能力,天然支持跨设备应用组件的交互。
  3. 支持多设备和多窗口形态

    应用组件管理和窗口管理在架构层面解耦。

    • 便于系统对应用组件进行裁剪(无屏设备可裁剪窗口)。
    • 便于系统扩展窗口形态。
    • 在多设备(如桌面设备和移动设备)上,应用组件可使用同一套生命周期。
  4. 平衡应用能力和系统管控成本

    Stage模型重新定义应用能力的边界,平衡应用能力和系统管控成本。

    • 提供特定场景(如服务卡片、输入法)的应用组件,以便满足更多的使用场景。
    • 规范化后台进程管理:为保障用户体验,Stage模型对后台应用进程进行了有序治理,应用程序不能随意驻留在后台,同时应用后台行为受到严格管理,防止恶意应用行为。

与相关Kit的关系

ArkUI: 在Ability Kit的UIAbility组件中,可以使用ArkUI提供的组件、事件、动效、状态管理等能力。

ArkTS: ArkTS提供了语言运行时相关能力。

模拟器支持情况

本kit支持模拟器开发,但与真机存在部分能力差异,具体如下:

  • 不支持拉起垂类应用面板。
  • 不支持以免安装方式拉起元服务。
  • 不支持使用App Linking实现应用间跳转。
  • 不支持使用Deep Linking拉起应用选择框。由于模拟器无应用选择框,当使用Deep Linking匹配到多个应用时,无法弹出应用选择框。

可添加班级学习:https://developer.huawei.com/consumer/cn/training/classDetail/d43582bb30b34f548c16c127cb3be104?type=1?ha_source=hmosclass&ha_sourceId=89000248

Logo

作为“人工智能6S店”的官方数字引擎,为AI开发者与企业提供一个覆盖软硬件全栈、一站式门户。

更多推荐