1e41f4b71Sopenharmony_ci# Creating an ArkTS Widget
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ciYou can create a widget in either of the following modes:
4e41f4b71Sopenharmony_ci
5e41f4b71Sopenharmony_ci- When creating a project, select **Application**. The project created this way does not have a widget by default. You can right-click a module folder and choose **New** > **Service Widget** to create a widget.
6e41f4b71Sopenharmony_ci- When creating a project, select **Atomic Service**. You can right-click a module folder and choose **New** > **Service Widget** to create a widget.
7e41f4b71Sopenharmony_ci
8e41f4b71Sopenharmony_ci![WidgetCreateProject](figures/WidgetCreateProject.png)
9e41f4b71Sopenharmony_ci
10e41f4b71Sopenharmony_ci> **NOTE**
11e41f4b71Sopenharmony_ci>
12e41f4b71Sopenharmony_ci> The UI may be different in DevEco Studio of a different version.
13e41f4b71Sopenharmony_ci
14e41f4b71Sopenharmony_ciTo create an ArkTS widget in an existing project, perform the following steps:
15e41f4b71Sopenharmony_ci
16e41f4b71Sopenharmony_ci1. Right-click a module folder and choose **New** > **Service Widget**.
17e41f4b71Sopenharmony_ci   ![WidgetProjectCreate1](figures/WidgetProjectCreate1.png)
18e41f4b71Sopenharmony_ci> **NOTE**
19e41f4b71Sopenharmony_ci>
20e41f4b71Sopenharmony_ci> For a project developed using API version 10 or later based on the stage model, you can create a dynamic or static widget from the **Service Widget** menu. After a service widget is created, you can change its type by setting **isDynamic** in the [form_config.json](arkts-ui-widget-configuration.md) configuration file. If **isDynamic** is left empty or set to **true**, the widget is a dynamic widget. If **isDynamic** is set to **false**, the widget is a static widget.
21e41f4b71Sopenharmony_ci   
22e41f4b71Sopenharmony_ci2. Select a widget template based on the actual service scenario.
23e41f4b71Sopenharmony_ci   
24e41f4b71Sopenharmony_ci   ![WidgetProjectCreate2](figures/WidgetProjectCreate2.png)
25e41f4b71Sopenharmony_ci
26e41f4b71Sopenharmony_ci3. Set **Language** to **ArkTS** and click **Finish**.
27e41f4b71Sopenharmony_ci
28e41f4b71Sopenharmony_ci   ![WidgetProjectCreate3](figures/WidgetProjectCreate3.png)
29e41f4b71Sopenharmony_ci
30e41f4b71Sopenharmony_ci   After an ArkTS widget is created, the following widget-related files are automatically added to the project directory: **EntryFormAbility.ets** (widget lifecycle management file), **WidgetCard.ets** (widget page file), and **form_config.json** (widget configuration file).
31e41f4b71Sopenharmony_ci
32e41f4b71Sopenharmony_ci   ![WidgetProjectView](figures/WidgetProjectView.png)
33