1e41f4b71Sopenharmony_ci# Introduction to Ability Kit
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ciAbility Kit provides an application model for application development and running. The application model is the abstraction of capabilities required by an application. It provides components and mechanisms required for running the application. You can develop applications based on a unified set of models, which makes your development simpler and more efficient.
4e41f4b71Sopenharmony_ci
5e41f4b71Sopenharmony_ci# Use Scenarios
6e41f4b71Sopenharmony_ci
7e41f4b71Sopenharmony_ci- Multi-module development: You can use different types of modules (HAP, HAR, and HSP) to develop an application. The HAP is used to implement application features, and the HAR and HSP are used to share code and resources.
8e41f4b71Sopenharmony_ci- Intra-application interaction: Redirection is allowed between components of an application. For example, in a payment application, you may need to start the payment UIAbility from the entry UIAbility.
9e41f4b71Sopenharmony_ci- Inter-application interaction: An application can start another application to complete a task or operation. For example, in an application, you can start a browser application to open a website or a file application to browse or edit a file.
10e41f4b71Sopenharmony_ci- Cross-device hopping: Your application delivers a better user experience through cross-device migration and multi-device collaboration. For example, you migrate a video playback task from a tablet to a smart TV.
11e41f4b71Sopenharmony_ci
12e41f4b71Sopenharmony_ci# Capability Scope
13e41f4b71Sopenharmony_ci
14e41f4b71Sopenharmony_ci- Provides APIs to create or destroy an application process, and schedule the application lifecycle.
15e41f4b71Sopenharmony_ci- Provides an entry to run application components, schedule the application component lifecycle, and enable interaction between components.
16e41f4b71Sopenharmony_ci- Provides APIs to listen for application context and system environment changes.
17e41f4b71Sopenharmony_ci- Provides APIs to continue an application on another device.
18e41f4b71Sopenharmony_ci- Provides capabilities such as multi-package, shared package, and application information configuration. For details, see [Application Package Overview](../quick-start/application-package-overview.md).
19e41f4b71Sopenharmony_ci- Provides access control capabilities. For details, see [Access Control Overview](../security/AccessToken/access-token-overview.md).
20e41f4b71Sopenharmony_ci<!--RP1-->
21e41f4b71Sopenharmony_ci<!--RP1End-->
22e41f4b71Sopenharmony_ci
23e41f4b71Sopenharmony_ci# Highlights
24e41f4b71Sopenharmony_ci
25e41f4b71Sopenharmony_ci1. **Designed for complex applications**
26e41f4b71Sopenharmony_ci   - In the stage model, multiple application components share an ArkTS engine (VM running the programming language ArkTS) instance. This allows application components to share objects and statuses with less memory required.
27e41f4b71Sopenharmony_ci   - The object-oriented development mode makes the code of complex applications easy to read, maintain, and scale.
28e41f4b71Sopenharmony_ci   - Modular development is supported.
29e41f4b71Sopenharmony_ci
30e41f4b71Sopenharmony_ci2. **Native support for cross-device migration and multi-device collaboration at the application component level**
31e41f4b71Sopenharmony_ci
32e41f4b71Sopenharmony_ci   The stage model decouples application components from User Interfaces (UIs).
33e41f4b71Sopenharmony_ci   - The declarative feature of ArkUI allows the UI to be restored based on the data or status saved in application components, which facilitates cross-device migration.
34e41f4b71Sopenharmony_ci   - Application components support cross-device interaction over Remote Procedure Calls (RPCs).
35e41f4b71Sopenharmony_ci
36e41f4b71Sopenharmony_ci3. **Support for multiple device types and window forms**
37e41f4b71Sopenharmony_ci
38e41f4b71Sopenharmony_ci   Application component management and window management are decoupled at the architecture level. This decoupling makes it easy to:
39e41f4b71Sopenharmony_ci   - Tailor application components. For example, windows can be tailored for devices without screens.
40e41f4b71Sopenharmony_ci   - Extend the window forms.
41e41f4b71Sopenharmony_ci   - Use the same application component lifecycle on multiple devices (such as desktop devices and mobile devices).
42e41f4b71Sopenharmony_ci
43e41f4b71Sopenharmony_ci4. **Well balanced application capabilities and system management costs**
44e41f4b71Sopenharmony_ci
45e41f4b71Sopenharmony_ci   The stage model redefines the boundary of application capabilities to well balance application capabilities and system management costs.
46e41f4b71Sopenharmony_ci   - Diverse application components (such as service widgets and input methods) for specific scenarios.
47e41f4b71Sopenharmony_ci   - Standardized background process management. To deliver a better user experience, the stage model manages background application processes in a more orderly manner. Applications cannot reside in the background randomly, and their background behavior is strictly managed to minimize malicious behavior.
48e41f4b71Sopenharmony_ci
49e41f4b71Sopenharmony_ci# Relationship with Related Kits
50e41f4b71Sopenharmony_ci
51e41f4b71Sopenharmony_ciArkUI: The UIAbility component of Ability Kit can use the components, events, animations, and status management capabilities provided by ArkUI.
52e41f4b71Sopenharmony_ci
53e41f4b71Sopenharmony_ciArkTS: provides language runtime capabilities for Ability Kit.
54