Начало работы с Kotlin/Wasm и WASI
В этом руководстве показано, как запустить простое приложение Kotlin/Wasm с помощью системного интерфейса WebAssembly (WASI) в различных виртуальных машинах WebAssembly.
Здесь вы найдёте примеры приложения, работающего в виртуальных машинах Node.js, Wasmtime, Deno и WasmEdge. В результате получится простое приложение, использующее стандартный API WASI.
В настоящее время Kotlin/Wasm поддерживает WASI 0.1, также известную как Preview 1. Поддержка WASI 0.2 запланирована для будущих выпусков. Следите за обновлениями о поддержке WASI 0.2 в этой задаче YouTrack.
Целевая платформа wasmWasi по умолчанию использует новое предложение по обработке исключений, обеспечивая лучшую совместимость с современными средами выполнения WebAssembly.
Перед началом работы
Скачайте и установите последнюю версию IntelliJ IDEA.
-
Клонируйте репозиторий шаблона Kotlin/Wasm WASI, выбрав в IntelliJ IDEA Файл | Создать | Проект из системы контроля версий.
Также можно клонировать его из командной строки:
git clone git@github.com:Kotlin/kotlin-wasm-wasi-template.git
Запуск приложения
-
Откройте окно инструментов Gradle, выбрав Вид | Окна инструментов | Gradle.
После загрузки проекта в окне инструментов Gradle можно найти задачи Gradle в разделе kotlin-wasm-wasi-example.
-
В разделе kotlin-wasm-wasi-example | Tasks | kotlin node выберите и запустите одну из следующих задач Gradle:
wasmWasiNodeDevelopmentRun — чтобы запустить приложение в Node.js.
wasmWasiWasmtimeDevelopmentRun — чтобы запустить приложение в Wasmtime.
wasmWasiDenoDevelopmentRun — чтобы запустить приложение в Deno.
-
wasmWasiWasmEdgeDevelopmentRun — чтобы запустить приложение в WasmEdge.

Также можно выполнить одну из следующих команд в терминале из корневого каталога kotlin-wasm-wasi-template:
-
Чтобы запустить приложение в Node.js:
./gradlew wasmWasiNodeDevelopmentRun
-
Чтобы запустить приложение в Wasmtime:
./gradlew wasmWasiWasmtimeDevelopmentRun
-
Чтобы запустить приложение в Deno:
./gradlew wasmWasiDenoDevelopmentRun
-
Чтобы запустить приложение в WasmEdge:
./gradlew wasmWasiWasmEdgeDevelopmentRun
После успешной сборки приложения в терминале появится сообщение:
Тестирование приложения
Также можно проверить, правильно ли работает приложение Kotlin/Wasm в различных виртуальных машинах.
В окне инструментов Gradle запустите одну из следующих задач Gradle в разделе kotlin-wasm-wasi-example | Tasks | verification:
wasmWasiNodeTest — чтобы протестировать приложение в Node.js.
wasmWasiWasmtimeTest — чтобы протестировать приложение в Wasmtime.
wasmWasiDenoTest — чтобы протестировать приложение в Deno.
wasmWasiWasmEdgeTest — чтобы протестировать приложение в WasmEdge.

Также можно выполнить одну из следующих команд в терминале из корневого каталога kotlin-wasm-wasi-template:
-
Чтобы протестировать приложение в Node.js:
./gradlew wasmWasiNodeTest
-
Чтобы протестировать приложение в Wasmtime:
./gradlew wasmWasiWasmtimeTest
-
Чтобы протестировать приложение в Deno:
./gradlew wasmWasiDenoTest
-
Чтобы протестировать приложение в WasmEdge:
./gradlew wasmWasiWasmEdgeTest
Что дальше?
Присоединяйтесь к сообществу Kotlin/Wasm в Kotlin Slack:
Присоединиться к сообществу Kotlin/Wasm
Попробуйте другие примеры Kotlin/Wasm:
© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/wasm-wasi.html