Vlad Cipariu
06/30/2025, 8:11 AMArtem Kobzar
06/30/2025, 9:01 AMArtem Kobzar
06/30/2025, 9:02 AMOleksandr Karpovich [JB]
06/30/2025, 9:42 AMYou can use both Wasm and K/JS for Compose Multiplatform (and only K/JS for Conpose HTML, as far as I know)that's true
Artem Kobzar
06/30/2025, 9:42 AMOleksandr Karpovich [JB]
06/30/2025, 9:52 AMVlad Cipariu
06/30/2025, 9:53 AMbod
06/30/2025, 10:23 AMVlad Cipariu
06/30/2025, 10:54 AMVlad Cipariu
06/30/2025, 11:01 AM@OptIn(ExperimentalComposeUiApi::class)
fun main() {
CanvasBasedWindow(title = "Counter App", canvasElementId = "ComposeTarget") {
var count by remember { mutableStateOf(0) }
MaterialTheme {
Column(
modifier = Modifier.padding(32.dp),
verticalArrangement = Arrangement.spacedBy(16.dp)
) {
Text("Counter: $count")
Row(horizontalArrangement = Arrangement.spacedBy(8.dp)) {
Button(onClick = { count-- }) {
Text("-")
}
Button(onClick = { count++ }) {
Text("+")
}
}
}
}
}
}
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Compose UI Counter</title>
</head>
<body>
<canvas id="ComposeTarget" width="1024" height="768"></canvas>
</body>
</html>
build.gradle.kts
js(IR) {
browser() // Don't use cssSupport here β not needed for Canvas-based Compose UI
binaries.executable()
}
when i run it
./gradlew jsBroserDevelopmentRun
nothing is displayed and no error is reportedArtem Kobzar
06/30/2025, 11:04 AMVlad Cipariu
06/30/2025, 11:05 AMBogdan Vladoiu Lbs
06/30/2025, 2:17 PMBogdan Vladoiu Lbs
06/30/2025, 2:19 PMBogdan Vladoiu Lbs
06/30/2025, 2:19 PMBogdan Vladoiu Lbs
06/30/2025, 2:20 PMBogdan Vladoiu Lbs
06/30/2025, 2:20 PMBogdan Vladoiu Lbs
06/30/2025, 4:40 PMgildor
07/01/2025, 5:26 AMVlad Cipariu
07/01/2025, 6:56 AMgildor
07/01/2025, 6:57 AMVlad Cipariu
07/01/2025, 6:58 AMgildor
07/01/2025, 6:59 AMVlad Cipariu
07/01/2025, 7:02 AM