# Web and PWA builds

Export application files and enable installation and offline use.

URL: https://webrad.atentor.com/docs/build-web-pwa
Updated: 2026-11-07

**Preview/F9** runs the application inside the IDE. To generate files for publishing, use **Build Application**.

## Export

1. In **Project Settings → Build and publishing**, choose **Deploy environment**, minification, source maps, routing mode, and base path.
2. In **Project Settings → Native Application → Build**, configure **Output Directory** and **Build Configuration**. Build Application also uses these fields when exporting Web/PWA.
3. Open **Project → Build Application…**, select **Web/PWA**, and click **Build**.
4. Wait for **Completed** and click **Open Output Folder**.
5. Upload `index.html` and the generated folders to your host.

Output is saved in **Output Directory/project name**. A saved absolute folder is reused; without an authorized destination, the IDE opens the folder picker. Web/PWA uses the compiler included in WebRAD and does not require Rust, Tauri, or native SDKs.

**Release** applies minification when **Minify JavaScript and CSS** is enabled. **Include source maps for troubleshooting** generates source maps. The frontend includes the code and resources used by the application.

**Deploy directory** in Build and publishing belongs to the Deploy workflow; **Build Application** uses **Output Directory** in Native Application.

## PWA

In **Project Settings → PWA and metadata**:

1. Enable **Enable PWA installation**.
2. Adjust **Short name**, **Display mode**, **Orientation**, **Theme color**, and **Background color**.
3. Enable **Keep the application available offline** to retain application files after the first visit.
4. Configure the name in **General** and the image in **Icons**.
5. Generate **Web/PWA** again and host it over **HTTPS**.

The build generates PWA installation files and, when offline mode is enabled, a service worker. API services, login, uploads, and remote media still require a connection. Installation availability depends on the browser and device.

## Before publishing

Confirm the selected environment, direct links, asset loading, and backend connection on the final domain. For History, configure routes to fall back to index.html. For subfolder publishing, adjust **Application base path** before building.
