1# Ability Kit简介 2 3Ability Kit(程序框架服务)提供了应用程序开发和运行的应用模型,是系统为开发者提供的应用程序所需能力的抽象提炼,它提供了应用程序必备的组件和运行机制。有了应用模型,开发者可以基于一套统一的模型进行应用开发,使应用开发更简单、高效。 4 5## 使用场景 6 7- 应用的多Module开发:应用可通过不同类型的Module(HAP、HAR、HSP)来实现应用的功能开发。其中,HAP用于实现应用的功能和特性,HAR与HSP用于实现代码和资源的共享。 8- 应用内的交互:应用内的不同组件之间可以相互跳转。比如,在支付应用中,通过入口UIAbility组件启动收付款UIAbility组件。 9- 应用间的交互:当前应用可以启动其他应用,来完成某个任务或操作。比如,启动浏览器应用来打开网站、启动文件应用来浏览或编辑文件等。 10- 应用的跨设备流转:通过应用的跨端迁移和多端协同,获得更好的使用体验。比如,在平板上播放的视频,迁移到智慧屏继续播放。 11 12## 能力范围 13 14- 提供应用进程创建和销毁、应用生命周期调度能力。 15- 提供应用组件运行入口、应用组件生命周期调度、组件间交互等能力。 16- 提供应用上下文环境、系统环境变化监听等能力。 17- 提供应用流转能力。 18- 提供多包机制、共享包、应用信息配置等能力,详见[应用程序包概述](../quick-start/application-package-overview.md)。 19- 提供程序访问控制能力,详见[访问控制概述](../security/AccessToken/access-token-overview.md)。 20<!--RP1--> 21<!--RP1End--> 22 23## 亮点/特征 24 251. **为复杂应用而设计** 26 - 多个应用组件共享同一个ArkTS引擎(运行ArkTS语言的虚拟机)实例,应用组件之间可以方便的共享对象和状态,同时减少复杂应用运行对内存的占用。 27 - 采用面向对象的开发方式,使得复杂应用代码可读性高、易维护性好、可扩展性强。 28 - 提供模块化能力开发的支持。 29 302. **原生支持应用组件级的跨端迁移和多端协同** 31 32 Stage模型实现了应用组件与UI解耦。 33 - 在跨端迁移场景下,系统在多设备的应用组件之间迁移数据/状态后,UI便可利用ArkUI的声明式特点,通过应用组件中保存的数据/状态恢复用户界面,便捷实现跨端迁移。 34 - 在多端协同场景下,应用组件具备组件间通信的RPC调用能力,天然支持跨设备应用组件的交互。 35 363. **支持多设备和多窗口形态** 37 38 应用组件管理和窗口管理在架构层面解耦。 39 - 便于系统对应用组件进行裁剪(无屏设备可裁剪窗口)。 40 - 便于系统扩展窗口形态。 41 - 在多设备(如桌面设备和移动设备)上,应用组件可使用同一套生命周期。 42 434. **平衡应用能力和系统管控成本** 44 45 Stage模型重新定义应用能力的边界,平衡应用能力和系统管控成本。 46 - 提供特定场景(如服务卡片、输入法)的应用组件,以便满足更多的使用场景。 47 - 规范化后台进程管理:为保障用户体验,Stage模型对后台应用进程进行了有序治理,应用程序不能随意驻留在后台,同时应用后台行为受到严格管理,防止恶意应用行为。 48 49## 与相关Kit的关系 50 51ArkUI: 在Ability Kit的UIAbility组件中,可以使用ArkUI提供的组件、事件、动效、状态管理等能力。 52 53ArkTS: ArkTS提供了语言运行时相关能力。 54 55 56 57