Skip to content

Kotlin/WasmとCompose Multiplatformを使ってみる

Kotlin/Wasmはアルファ版です。これは予告なく変更される場合があります。

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

このチュートリアルでは、IntelliJ IDEAでKotlin/Wasmを使用してCompose Multiplatformアプリを実行し、GitHub pages上でサイトとして公開するためのアーティファクトを生成する方法を説明します。

始める前に

Kotlin Multiplatformウィザードを使用してプロジェクトを作成します。

  1. Kotlin Multiplatformウィザードを開きます。

  2. New Projectタブで、プロジェクト名とIDを任意のものに変更します。このチュートリアルでは、名前を「WasmDemo」、IDを「wasm.project.demo」に設定します。

    これらはプロジェクトディレクトリの名前とIDです。そのままにしておくこともできます。

  3. Webオプションを選択します。他のオプションが選択されていないことを確認してください。

  4. Downloadボタンをクリックし、結果として得られるアーカイブを解凍します。

    Kotlin Multiplatform wizard

プロジェクトをIntelliJ IDEAで開く

  1. IntelliJ IDEAの最新バージョンをダウンロードしてインストールします。
  2. IntelliJ IDEAのようこそ画面でOpenをクリックするか、メニューバーからFile | Openを選択します。
  3. 解凍した「WasmDemo」フォルダに移動し、Openをクリックします。

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

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

    プロジェクトのロードが完了すると、GradleツールウィンドウでGradleタスクを見つけることができます。

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

  2. wasmdemo | Tasks | kotlin browserで、wasmJsBrowserDevelopmentRunタスクを選択して実行します。

    Run the Gradle task

    または、WasmDemoのルートディレクトリからターミナルで次のコマンドを実行することもできます。

    bash
    ./gradlew wasmJsBrowserDevelopmentRun -t
  3. アプリケーションが起動したら、ブラウザで次のURLを開きます。

    bash
    http://localhost:8080/

    ポート番号は、8080ポートが利用できない場合があるため、異なることがあります。実際のポート番号はGradleビルドコンソールに表示されます。

    「Click me!」ボタンが表示されます。これをクリックします。

    Click me

    これでCompose Multiplatformのロゴが表示されます。

    Compose app in browser

アーティファクトを生成する

wasmdemo | Tasks | kotlin browserで、wasmJsBrowserDistributionタスクを選択して実行します。

Run the Gradle task

または、WasmDemoのルートディレクトリからターミナルで次のコマンドを実行することもできます。

bash
./gradlew wasmJsBrowserDistribution

アプリケーションのタスクが完了すると、生成されたアーティファクトはcomposeApp/build/dist/wasmJs/productionExecutableディレクトリにあります。

Artifacts directory

GitHub pagesで公開する

  1. productionExecutableディレクトリ内のすべてのコンテンツを、サイトを作成したいリポジトリにコピーします。

  2. サイトの作成に関するGitHubの手順に従ってください。

    変更をGitHubにプッシュした後、サイトに公開されるまでに最大10分かかる場合があります。

  3. ブラウザで、GitHub pagesのドメインに移動します。

    Navigate to GitHub pages

おめでとうございます!GitHub pagesにアーティファクトが公開されました。

次のステップ