KotlinからWebAssemblyバイナリを生成するコンパイラ搭載、「Kotlin/Wasm」が試験的プレビュー公開。Kotlin 1.8.20ベータ版で

2023年2月17日

Kotlinで書かれたコードをWebAssemblyバイナリとするコンパイル機能を備えた「Kotlin/Wasm」が、Kotlin 1.8.20ベータ版で搭載されたことが明らかになりました

KotlinのコードをWebAssemblyにコンパイルするKotlin/Wasmコンパイラ(正確にはコンパイラバックエンドとのことですが、ここでは単に「コンパイラ」と表記します)は、Kotlinの開発元であるJetBrainsがスクラッチから開発したもので、Kotlin/Nativeでは利用しているネイティブバイナリ生成のためのLLVMを使わずにターゲットとなるWebAssemblyバイナリを生成するため、Kotlin/Nativeよりも高速なコンパイルが可能とされています。

ただし現時点でKotlin/Wasmを利用するには、WebAssemblyのガベージコレクション機能が要求されるため、Google ChromeもしくはFirefoxで開発者向けのフラグを操作してWebAssemblyのガベージコレクション機能を設定する必要があるとのことです。

参考:WebAssemblyにガベージコレクション機能が登場、Chrome 111で試験的実装に。Dartなど高級言語のWebAssembly対応へ前進

今回、Kotlin/Wasmに合わせてFirefoxでもWebAssemblyのガベージコレクション機能を実装中であることが明らかになりました。

参考:FirefoxもWebAssemblyのガベージコレクション機能を実装中であることが明らかに

マルチプラットフォーム対応を進めるKotlin

KotlinはJavaVM言語として登場し、2017年にAndroidの正式な開発言語になったことで急速に注目度を高めました。

参考:[速報]「Kotlin」がAndroidの正式な開発言語に。開発元のJetBrainsとGoogleが「Kotlin財団」の設立も計画。Google I/O 2017

その後、Kotlinの開発元であるJetBrainsは、iOSやWindowsアプリケーションの開発に対応するKotlin/Nativeや、サーバアプリケーションの開発に対応するKotlin/JVM、Webアプリケーションの開発に対応しJavaScriptを生成するKotlin/JSなどマルチプラットフォームに対応した言語への進化を進めてきました。

Kotlin/WasmはそうしたKotlinのマルチプラットフォーム戦略の1つです。

現在、WebAssemblyアプリケーションを開発する言語としてRustやGo言語が人気ですが、Kotlinも将来その中に入ることが期待されます。そしてJavaVMをベースとしてきたプログラミング言語がWebAssemblyに対応することは注目に値するのではないでしょうか。

あわせて読みたい

WebAssembly プログラミング言語 JetBrains Kotlin




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本