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