JavaScript/WebAssemblyをCDNエッジで実行するCloudflare Workersが、Python、Scala、Kotlin、Dart、Reasonへの対応を発表

Cloudflareは、JavaScript/WebAssemblyをCDNエッジで実行するサーバレス基盤「Cloudflare Workers」が、Python、Scala、Kotlin、Dart、Reasonの各言語に対応したことを発表しました。

Cloudflare Workersは、Googleが中心となって開発しているオープンソースのJavaScriptエンジン「V8」を用いてJavaScriptとWebAssembly/WASIの実行を実現しています。そのため、すでにをターゲットとしてWebAssemblyバイナリを生成できるプログラミング言語であれば、事実上Cloudflare Workersで利用することが可能だったといえます。

今回発表されたPython、Scala、Kotlin、Dart、Reasonの対応は、そうしたWebAssemblyバイナリへコンパイルする方法ではなく、ソースコードをトランスパイルしてJavaScriptを生成する方法によってV8エンジンで実行可能にしています。

具体的には、Cloudflare WorkersのコマンドラインツールであるWranglerを利用し、PythonではJavaScriptへのトランスパイラであるTranscryptを、Scalaでは「Scala.js」を、KotlinやDartではそれぞれの言語に標準で備わっているJavaScriptへのトランスパイラである「Kotlin for JavaScript」「dart compile js」を使ってJavaScriptへの変換を行います。

ただしライブラリなどによってはトランスパイラによってサポートされない場合があるため、注意が必要です。