Ability Kit

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

使用场景

  • 应用的多Module开发:应用可通过不同类型的Module(HAP、HAR、HSP)来实现应用的功能开发。其中,HAP用于实现应用的功能和特性,HAR与HSP用于实现代码和资源的共享。
  • 应用内的交互:应用内的不同组件之间可以相互跳转。比如,在支付应用中,通过入口UIAbility组件启动收付款UIAbility组件。
  • 应用间的交互:当前应用可以启动其他应用,来完成某个任务或操作。比如,启动浏览器应用来打开网站、启动文件应用来浏览或编辑文件等。
  • 应用的跨设备流转:通过应用的跨端迁移和多端协同,获得更好的使用体验。比如,在平板上播放的视频,迁移到智慧屏继续播放。

能力范围

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

亮点/特征

  1. 为复杂应用而设计

    • 多个应用组件共享同一个ArkTS引擎(运行ArkTS语言的虚拟机)实例,应用组件之间可以方便的共享对象和状态,同时减少复杂应用运行对内存的占用。
    • 采用面向对象的开发方式,使得复杂应用代码可读性高、易维护性好、可扩展性强。
    • 提供模块化能力开发的支持。
  2. 原生支持应用组件级的跨端迁移和多端协同

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

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

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

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

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

    • 提供特定场景(如服务卡片、输入法)的应用组件,以便满足更多的使用场景。
    • 规范化后台进程管理:为保障用户体验,Stage模型对后台应用进程进行了有序治理,应用程序不能随意驻留在后台,同时应用后台行为受到严格管理,防止恶意应用行为。
### OpenHarmony 的后端技术栈与架构 OpenHarmony 是一款分布式操作系统,其设计目标是为多种设备提供统一的操作系统平台。它的整体架构分为多个层次,从底层到高层分别为内核层、系统服务层、框架层以及应用层[^2]。 #### 1. 内核层 内核层提供了基础的硬件抽象和资源管理能力,支持轻量级内核(LiteOS)和 Linux 内核两种实现方式。对于后端开发者而言,这一层主要涉及驱动程序开发和低级别的系统调用接口。通过这些接口,上层的应用和服务能够访问硬件资源并执行复杂的计算任务。 #### 2. 系统服务层 系统服务层位于内核之上,负责提供各种系统级的服务功能。它包含了分布式软总线、公共基础库、HDF(Hardware Driver Foundation)、安全子系统以及其他核心模块。以下是几个重要的组成部分: - **Distributed Soft Bus**: 实现跨设备之间的高效通信机制,这是 OpenHarmony 分布式特性的重要支撑部分。 - **Security Subsystem**: 提供加密解密算法、权限控制等功能来保障数据传输的安全性和隐私保护。 - **HDF (Hardware Driver Framework)**: 定义了一套标准化的驱动开发框架,简化了不同硬件平台上驱动程序的设计过程。 #### 3. 框架层 框架层进一步封装了系统服务层的能力,并将其暴露给应用程序开发者使用。主要包括 Ability Kit 和 UI Kit 两大部分。其中 Ability Kit 主要用于定义业务逻辑单元;而 UI Kit 则专注于图形界面渲染方面的工作。此外还有 EventRunner/TaskScheduler 这样的异步事件处理工具可以帮助优化性能表现。 #### 4. 应用层 在应用层面,则涵盖了众多预置好的原生App如系统桌面(SystemDesktop),SystemUI, 设置(Settings), 相机(Camera)等等[^3]。虽然严格意义上讲这部分属于前端范畴,但对于整个系统的正常运转来说不可或缺。而后端则更多体现在上述提到的各种服务当中——它们共同构成了完整的解决方案以满足各类应用场景的需求。 综上所述,尽管传统意义上的 “后端” 可能仅指服务器端编程或者云计算领域内的相关内容,在 OpenHarmony 中,“后端”的概念被扩展到了嵌入式系统内部各层级之间相互协作完成特定任务的过程之中。因此理解好每一层的功能定位及其交互关系是非常关键的一环。 ```python # 示例代码展示如何初始化一个简单的Ability from ohos.app import Ability class MyFirstAbility(Ability): def onStart(self): super().onStart() print("MyFirstAbility has started.") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值