1# UIAbility Component Overview 2 3 4## Overview 5 6UIAbility is a type of application component that provides the UI for user interaction. 7 8The following design philosophy is behind UIAbility: 9 101. Native support for [cross-device migration](hop-cross-device-migration.md) and [multi-device collaboration](hop-multi-device-collaboration.md) at the application component level 11 122. Support for multiple device types and window forms 13 14> **NOTE** 15> 16> For details, see [Interpretation of the Application Model](application-model-description.md). 17 18The UIAbility division principles and suggestions are as follows: 19 20UIAbility is the basic unit scheduled by the system and provides a window for applications to draw UIs. An application can contain one or more UIAbility components. For example, for a payment application, you can use two UIAbility components to carry the entry and payment functionalities. 21 22Each UIAbility component instance is displayed as a mission in Recents. 23 24You can develop a single UIAbility or multiple UIAbilities for your application based on service requirements. 25 26- If you want only one mission to be displayed in Recents, use one UIAbility and multiple pages. 27 28- If you want multiple missions to be displayed in Recents or multiple windows to be opened simultaneously, use multiple UIAbilities. 29 30## Privacy Statement Configuration 31 32To enable an application to properly use a UIAbility component, declare the UIAbility name, entry, and tags under [abilities](../quick-start/module-configuration-file.md#abilities) in the [module.json5 configuration file](../quick-start/module-configuration-file.md). 33 34 35```json 36{ 37 "module": { 38 ... 39 "abilities": [ 40 { 41 "name": "EntryAbility", // Name of the UIAbility component. 42 "srcEntry": "./ets/entryability/EntryAbility.ts", // Code path of the UIAbility component. 43 "description": "$string:EntryAbility_desc", // Description of the UIAbility component. 44 "icon": "$media:icon", // Icon of the UIAbility component. 45 "label": "$string:EntryAbility_label", // Label of the UIAbility component. 46 "startWindowIcon": "$media:icon", // Index of the icon resource file. 47 "startWindowBackground": "$color:start_window_background", // Index of the background color resource file. 48 ... 49 } 50 ] 51 } 52} 53``` 54