JavaScript/WebAssemblyをCDNエッジで実行するCloudflare Workersが、Python、Scala、Kotlin、Dart、Reasonへの対応を発表
今回は「JavaScript/WebAssemblyをCDNエッジで実行するCloudflare Workersが、Python、Scala、Kotlin、Dart、Reasonへの対応を発表」についてご紹介します。
関連ワード (方法、注意、言語等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
Cloudflareは、JavaScript/WebAssemblyをCDNエッジで実行するサーバレス基盤「Cloudflare Workers」が、Python、Scala、Kotlin、Dart、Reasonの各言語に対応したことを発表しました。
#ServerlessWeek continues at Cloudflare. Today, we’re excited to announce that you can also build applications on Cloudflare Workers using Python, Scala, Kotlin, Reason and Dart https://t.co/bfqNkLPxRx
— Cloudflare (@Cloudflare) July 28, 2020
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への変換を行います。
ただしライブラリなどによってはトランスパイラによってサポートされない場合があるため、注意が必要です。