1# Creating an ArkTS Widget
2
3You can create a widget in either of the following modes:
4
5- 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.
6- When creating a project, select **Atomic Service**. You can right-click a module folder and choose **New** > **Service Widget** to create a widget.
7
8![WidgetCreateProject](figures/WidgetCreateProject.png)
9
10> **NOTE**
11>
12> The UI may be different in DevEco Studio of a different version.
13
14To create an ArkTS widget in an existing project, perform the following steps:
15
161. Right-click a module folder and choose **New** > **Service Widget**.
17   ![WidgetProjectCreate1](figures/WidgetProjectCreate1.png)
18> **NOTE**
19>
20> 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.
21
222. Select a widget template based on the actual service scenario.
23
24   ![WidgetProjectCreate2](figures/WidgetProjectCreate2.png)
25
263. Set **Language** to **ArkTS** and click **Finish**.
27
28   ![WidgetProjectCreate3](figures/WidgetProjectCreate3.png)
29
30   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).
31
32   ![WidgetProjectView](figures/WidgetProjectView.png)
33