サーバサイドのJavaScriptランタイム「WinterJS」登場。Rustで書かれ、WebAssembyにコンパイル可能なService Workerサーバ
WebAssemblyランタイム「Wasmer」の開発元として知られているWasmer社は、新しいサーバサイドのJavaScriptランタイム「WinterJS」を発表しました。
Announcing WinterJS: a blazing-fast Javascript Service Workers server written in Rust powered by SpiderMonkey
— Wasmer (@wasmerio) October 27, 2023
❄️https://t.co/kX7jjJj6qv
WinterJSはRustで書かれた高速なService Workerサーバであり、オープンソースとして公開されています。
WinterCGとWASIXに対応
WinterJSの仕様は非Webブラウザ系JavaScriptランタイムのコード互換を目指す「Web-interoperable Runtimes Community Group」(WinterCG)に準拠しており、これを基にすることで同じくWinterCGに準拠したCloudflare WorkersやDeno Deployなどの他のJavaScriptランタイムとの互換性を実現するとしています。
また、WinterJSはRustで書かれているため、このRustのコードからWinterJSのWebAssemblyバイナリを生成し、Wasmer社のWebAssemblyランタイムで実行することも可能。
このとき、「WASI」(WebAssembly System Interface)を拡張してPOSIX対応にするというWasmerが提唱する新技術「WASIX」にも対応します。
参考:WebAssemblyをPOSIX対応に拡張した「WASIX」登場、bashやcurl、WebサーバなどLinuxアプリが実装可能に。Wasmerが発表
WinterJSのJavaScriptエンジンには、FirefoxのSpiderMonkeyを採用。SpiderMonkeyはRust、C++、Rustで作られており、コンパイルによりWASI対応のWebAssemblyバイナリにコンパイル可能となっています。WinterJSでは、これを基にWASIX対応へと移植しました。
WinterJS発表の狙いは、Wasmer Edgeのターゲットを広げるため
Wasmer社は、エッジ環境でWebAssemblyランタイムを提供する分散プラットフォーム型のサービス「Wasmer Edge」を提供しています。
これは、Denoの開発元であるDeno LandがJavaScriptランタイムであるDenoをオープンソースで開発することで普及を目指し、それを背景に自社の商用サービスであるDeno Deployでマネタイズを図ろうとしているのと同様といえます。
つまりWasmer社はWebAssemblyランタイムのWasmerをオープンソースで開発し、さらにWebAssemblyでより高度なアプリケーションが開発できるようにWASIXのような仕組みを率先して開発、実装することでWasmerをより魅力的なWebAssemblyランタイムとした上で、自社の商用サービスであるWasmer Edgeでマネタイズする、というのがWasmer社のビジネスモデルだと言えるでしょう。
- WebAssemblyでBashのコマンドプロンプトを実装、Wasmer 4.0が正式リリース、POSIX対応の「WASIX」など安定版に
- 分散モノリスとWebAssemblyランタイムを用いた新しいアプリプラットフォーム「Wasmer Edge」登場。オーケストレーションもサービスメッシュも不要
今回、Wasmer社がWebAssemblyにコンパイル可能なJavaScriptランタイムとしてWinterJSを発表したのは、WinterJSをWasmer Edgeに展開することで、Wasmer EdgeをWebAssemblyのアプリケーションだけでなくJavaScriptアプリケーションのプラットフォームとしても提供可能にするためでしょう。
これによりWasmer Edgeのターゲットとなる市場が大きく広がるわけで、それはつまり同社にとってのビジネスチャンスが広がることを意味します。Wasmer社にとって、WinterJSの位置づけはおそらく非常に重要なものになるはずです。
と同時にこれは、JavaScriptランタイムとともにWebAssemblyランタイムもプラットフォームサービスとして提供しているDeno DeployやCloudflare Workersなど、多くの既存のJavaScriptランタイムのプラットフォームサービスと競合していくことを意味するわけです。
ただでさえ、現時点でサーバサイドのJavaScriptランタイムとそのプラットフォームには多くの選択肢があり、激しい競争が始まっている分野です。WinterJSの発表は、この競争をさらに厳しいものにしていくことになるのでしょう。
あわせて読みたい
WSL新機能、使用メモリの自動縮退など/Pythonのスーパーセット「Mojo」コンパイラ公開/静的サイトジェネレータAstro 3.0登場、ほか。2023年9月の人気記事
≪前の記事
さよならVMware。本日(10月30日)Broadcomによる買収完了で、企業としての存在に幕。VMwareブランドは引き続き残る