Looking for this year's edition? Please visit WASM I/0 2024

Session

Look who's talking!

Detail illustration WASM I/O Detail illustration WASM I/O
Zalim Bashorov
blend-mode
Sébastien Deleuze
blend-mode

Introducing Kotlin/Wasm

Zalim Bashorov - JetBrains / Sébastien Deleuze - VMware

Slides

Kotlin is a modern, cross-platform, statically typed, general-purpose programming language developed by JetBrains. It targets JVM, including Android; JS; native platforms via LLVM, including iOS; and lately WebAssembly.

Kotlin/Wasm is the new target and toolchain in the Kotlin family. It has a few special properties:

  • It compiles to Wasm directly without any additional layers, to compile as fast as possible, including incrementally in the future.
  • It uses experimental/fresh proposals like GC, Typed Function References, Exception Handling, and Stringref.

In this talk, we will have a deep look inside the internal details of the Kotlin/Wasm technology stack, how the Kotlin code is compiled into WebAssembly and look in-depth at the generated code and its structure. We will discuss how the Kotlin/Wasm compiler handles the language features of Kotlin, such as classes, virtual and interface calls, coroutines, and others using fresh and experimental proposals like GC, Exception Handling, Typed Function References.

We will also explore various use cases of Kotlin/Wasm: in the browser but also for server-side workloads with the WASI support for Kotlin/Wasm incubated on https://github.com/kowasm/kowasm, as well as the interoperability with the WebAssembly Component Model.

View all sessions