メインコンテンツまでスキップ

Kotlin/WasmとWASIを始める

注記

Kotlin/Wasm は Alpha 段階です。予告なく変更される場合があります。

Kotlin/Wasm コミュニティに参加してください。

このチュートリアルでは、さまざまな WebAssembly 仮想マシンで WebAssembly System Interface (WASI) を使用して、簡単な Kotlin/Wasm アプリケーションを実行する方法を説明します。

Node.jsDenoWasmEdge 仮想マシンでアプリケーションを実行する例を見つけることができます。出力は、標準の WASI API を使用する簡単なアプリケーションです。

現在、Kotlin/Wasm は WASI 0.1(Preview 1 としても知られています)をサポートしています。 WASI 0.2 のサポートは、今後のリリースで計画されています

ヒント

Kotlin/Wasm ツールチェーンには、Node.js タスク(wasmWasiNode*)が標準で付属しています。 Deno や WasmEdge を利用するタスクなど、プロジェクト内の他のタスクバリアントは、カスタムタスクとして含まれています。

はじめる前に

  1. 最新バージョンの IntelliJ IDEA をダウンロードしてインストールします。

  2. IntelliJ IDEA で File | New | Project from Version Control を選択して、Kotlin/Wasm WASI テンプレートリポジトリ をクローンします。

    または、コマンドラインからクローンすることもできます。

    git clone [email protected]:Kotlin/kotlin-wasm-wasi-template.git

アプリケーションを実行する

  1. View | Tool Windows | Gradle を選択して、Gradle ツールウィンドウを開きます。

    Gradle ツールウィンドウで、プロジェクトのロード後、kotlin-wasm-wasi-example の下に Gradle タスクが表示されます。

    タスクを正常にロードするには、Gradle JVM として少なくとも Java 11 が必要です。

  2. kotlin-wasm-wasi-example | Tasks | kotlin node から、次のいずれかの Gradle タスクを選択して実行します。

    • Node.js でアプリケーションを実行するには、wasmWasiNodeRun を選択します。

    • Deno でアプリケーションを実行するには、wasmWasiDenoRun を選択します。

    • WasmEdge でアプリケーションを実行するには、wasmWasiWasmEdgeRun を選択します。

      Windows プラットフォームで Deno を使用する場合は、deno.exe がインストールされていることを確認してください。詳細については、 Deno のインストールに関するドキュメント を参照してください。

    Kotlin/Wasm and WASI tasks

または、ターミナルで kotlin-wasm-wasi-template ルートディレクトリから、次のいずれかのコマンドを実行します。

  • Node.js でアプリケーションを実行する場合:

    ./gradlew wasmWasiNodeRun
  • Deno でアプリケーションを実行する場合:

    ./gradlew wasmWasiDenoRun
  • WasmEdge でアプリケーションを実行する場合:

    ./gradlew wasmWasiWasmEdgeRun

アプリケーションが正常にビルドされると、ターミナルにメッセージが表示されます。

Kotlin/Wasm and WASI app

アプリケーションをテストする

Kotlin/Wasm アプリケーションがさまざまな仮想マシンで正しく動作することもテストできます。

Gradle ツールウィンドウで、kotlin-wasm-wasi-example | Tasks | verification から、次のいずれかの Gradle タスクを実行します。

  • Node.js でアプリケーションをテストするには、wasmWasiNodeTest を選択します。
  • Deno でアプリケーションをテストするには、wasmWasiDenoTest を選択します。
  • WasmEdge でアプリケーションをテストするには、wasmWasiWasmEdgeTest を選択します。
Kotlin/Wasm and WASI test tasks

または、ターミナルで kotlin-wasm-wasi-template ルートディレクトリから、次のいずれかのコマンドを実行します。

  • Node.js でアプリケーションをテストする場合:

    ./gradlew wasmWasiNodeTest
  • Deno でアプリケーションをテストする場合:

    ./gradlew wasmWasiDenoTest
  • WasmEdge でアプリケーションをテストする場合:

    ./gradlew wasmWasiWasmEdgeTest

ターミナルにテスト結果が表示されます。

Kotlin/Wasm and WASI test

次のステップ

Kotlin Slack で Kotlin/Wasm コミュニティに参加しましょう。

Join the Kotlin/Wasm community

その他の Kotlin/Wasm の例を試してください。