Skip to content

Monkey-Matt/kmp-web

Repository files navigation

Learning to run Kotlin Multiplatform on the web. Hosted on Github Pages, see here.

This project is targeting Web, Android, and iOS.

  • /composeApp is for code that will be shared across your Compose Multiplatform applications. It contains several subfolders:

    • commonMain is for code that’s common for all targets.
    • Other folders are for Kotlin code that will be compiled for only the platform indicated in the folder name. For example, if you want to use Apple’s CoreCrypto for the iOS part of your Kotlin app, iosMain would be the right folder for such calls.
  • /iosApp contains iOS applications. Even if you’re sharing your UI with Compose Multiplatform, you need this entry point for your iOS app. This is also where you should add SwiftUI code for your project.

Screenshots.png

Learn more about Kotlin Multiplatform, Compose Multiplatform, Kotlin/Wasm, KMP Setup Wizard...

Tutorials used Kotlin web setup guide, Collapsing toolbar

Kodee app icon made with Kotlin Brand Assets, EasyAppIcon

Running locally

You can open the web application by running the :composeApp:wasmJsBrowserDevelopmentRun Gradle task.

Building releases

A release version is built using :composeApp:wasmJsBrowserDistribution Gradle task. The output files (found in composeApp/build/dist/wasmJs/productionExecutable) are saved to a separate repo where Github Pages is enabled, automatically deploying any changes from the main branch.

Languages