kotlin-wasm-compose-template

Introduction: A template repository for Compose Multiplatform with Kotlin/Wasm target
More: Author   ReportBugs   
Tags:

Official project

This example showcases a web application built with Compose Multiplatform for web and Kotlin/Wasm.

Check it out:

Static Badge

Note: Web support is in Beta. You can use it in production, but some APIs may still change. We would appreciate your feedback on GitHub.

Join the compose-web community.

Compose Multiplatform for web enables sharing your mobile or desktop UIs on the web.

Compose Multiplatform for web is based on Kotlin/Wasm, the newest target for Kotlin Multiplatform projects. It lets you run your code in the browser, taking advantage of WebAssembly's high and consistent application performance.

Follow the instructions in the sections below to try out this application built with Compose Multiplatform for web and Kotlin/Wasm.

Set up the environment

Before starting, ensure you have the necessary IDE and browser setup to run the application.

IDE

We recommend using the latest version of IntelliJ IDEA (2026.2 or later) to work with the project.

To debug Kotlin/Wasm code in IntelliJ IDEA, you must have the JavaScript Debugger plugin installed. See more information about the plugin and how to install it.

Browser (for Kotlin/Wasm target)

To run applications built with Kotlin/Wasm in a browser, you need a browser supporting the Wasm Garbage Collection (GC) feature:

Chrome and Chromium-based

  • For version 119 or later:

    Works by default.

Firefox

  • For version 120 or later:

    Works by default.

Safari/WebKit

  • For version 18.2 or later:

    Works by default.

Note: For more information about the browser versions, see the Troubleshooting documentation.

Build and run

To build and run the application:

  1. In IntelliJ IDEA, open the repository.
  2. Run the application using one of the following options:
  • Web app:

    ./gradlew :webApp:wasmJsBrowserProductionRun
     

  • Desktop app:

    ./gradlew :desktopApp:run
     

  • Android app:

    ./gradlew :androidApp:assembleDebug
     

  • iOS app:

    Open the /iosApp directory in Xcode and run it from there, or use the iosApp run configuration in your IDE.

Running tests

Use the run button in your IDE's editor gutter, or run tests using Gradle tasks:

  • Android tests: ./gradlew :shared:testAndroidHostTest
  • Desktop tests: ./gradlew :shared:jvmTest
  • Web wasm tests: ./gradlew :shared:wasmJsTest
  • iOS tests: ./gradlew :shared:iosSimulatorArm64Test

Feedback and questions

Give it a try and share your feedback or questions in our #compose-web Slack channel. Get a Slack invite. You can also share your comments with @bashorov on X (Twitter).

Learn more

Apps
About Me
GitHub: Trinea
Facebook: Dev Tools
AI Daily Digest