kotlin-wasm-compose-template

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

Incubator

Note Web support is Experimental and may be changed at any time. Use it only for evaluation purposes. We would appreciate your feedback on it in the public Slack channel #compose-web. If you face any issues, please report them on GitHub.

You can experiment with sharing your mobile or desktop UIs with the web. Compose for Web is based on Kotlin/Wasm, the newest target for Kotlin Multiplatform projects. It allows Kotlin developers to run their code in the browser with all the benefits that WebAssembly has to offer, such as good and predictable performance for your applications.

Compose for Web Example

A simple Compose Multiplatform App.

Build and run

Check out the repo, navigate to the project folder, and use the following commands:

Run Web version via Gradle

./gradlew :composeApp:wasmJsRun

Run Desktop version via Gradle

./gradlew :composeApp:run

Setup Environment

To run applications built with Kotlin/Wasm in a browser, you need a browser supporting wasm garbage collection feature:

  • For Chrome and Chromium-based browsers (Edge, Brave etc.), it should just work since version 119.
  • For Firefox 120 it should just work.
  • For Firefox 119:
    1. Open about:config in the browser.
    2. Enable javascript.options.wasm_gc.
    3. Refresh the page.

For more information see https://kotl.in/wasm_help/.

IDE

We recommend using IntelliJ IDEA 2023.1 or newer to work with the project.

Feedback & Questions

Give it a try, and share your feedback and ask questions in the Kotlin Slack #compose-web channel (if you’re not a member, apply here) or on Twitter to @bashorov.

Learn more

Apps
About Me
GitHub: Trinea
Facebook: Dev Tools