新たなサーバサイドJavaScriptランタイム「WinterJS 1.0」正式リリース、WebAssemblyへのコンパイルも可能。Wasmerが開発
今回は「新たなサーバサイドJavaScriptランタイム「WinterJS 1.0」正式リリース、WebAssemblyへのコンパイルも可能。Wasmerが開発」についてご紹介します。
関連ワード (下記、主張、準拠等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
WebAssemblyランタイム「Wasmer」の開発元として知られているWasmer社は、新しいサーバサイドのJavaScriptランタイム「WinterJS」の正式版となる「WinterJS 1.0」のリリースを発表しました。
❄️ Introducing WinterJS 1.0 – the fastest WinterCG Javascript runtime in the world powered by Rust and SpiderMonkey …and #WebAssembly compatible!
Now supporting:
React Server Components
Cloudflare mode
150k reqs/sec!https://t.co/rfsmRw3Z6C— Wasmer (@wasmerio) March 11, 2024
WinterCG仕様に準拠、Cloudfare Workers互換モードも
WinterJSは、Node.jsやDeno、Cloudflare Workersなど非ブラウザ系JavaScriptランタイムの相互運用性を実現すWeb-interoperable Runtimes Community Group (WinterCG)仕様に準拠し、Rustで書かれた高速なJavaScriptランタイムです。
参考:Deno、Node.js、Cloudflare Workersなど、非Webブラウザ系JavaScriptランタイムのコード互換を目指す「Web-interoperable Runtimes Community Group」(WinterCG)が発足
JavaSriptエンジンとしてSpiderMonkey、HTTPリクエストとJavaScriptイベントループのハンドルに非同期JavaScriptランタイムのTokioを採用しています。
さらにCloudflare Workersの互換モードも新たに搭載しました。
WinterJSはWebAssemblyバイナリにコンパイルすることも可能です。これにより同社がエッジロケーションでWebAssemblyランタイムを提供するサービス「Wasmer Edge」でWinterJSを実行することが可能となります。
参考:分散モノリスとWebAssemblyランタイムを用いた新しいアプリプラットフォーム「Wasmer Edge」登場。オーケストレーションもサービスメッシュも不要
Bunより高速だと主張
開発元のWasmerは、WinterJS 1.0は1秒当たり15万リクエストを処理できる性能を持ち、BunやNode.jsより高速だと主張しています。
さまざまなWebフレームワークをサポート
WinterJSはCloudflare Workerとの互換モードを備えたことで、下記のさまざまなWebフレームワークをサポートすることとなりました。
同社は、特にNext.js React Server Componentsのサポートは困難だった一方、これによりより完成度の高い実装になったとしています。
- Next.js
- Next.js React Server Components(ただしサーバサイドフェッチキャッシュは未実装)
- Hono
- Astro.build
- Remix.run
- Svelte
- Gatsby
- Nuxt
つまりこれらのフレームワークは、WebAssembly版WinterJSを用いてそのままWasmer Edgeでも実行可能になるわけです。
同社はこれによりWasmer Edgeの利用を促進したいと考え、WinterJSを開発したのだと言えるでしょう。