新たなサーバサイドJavaScriptランタイム「WinterJS 1.0」正式リリース、WebAssemblyへのコンパイルも可能。Wasmerが開発
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!
— Wasmer (@wasmerio) March 11, 2024
Now supporting:
React Server Components
Cloudflare mode
150k reqs/sec!https://t.co/rfsmRw3Z6C
WinterCG仕様に準拠、Cloudfare Workers互換モードも
WinterJSは、Node.jsやDeno、Cloudflare Workersなど非ブラウザ系JavaScriptランタイムの相互運用性を実現すWeb-interoperable Runtimes Community Group (WinterCG)仕様に準拠し、Rustで書かれた高速なJavaScriptランタイムです。
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を開発したのだと言えるでしょう。
あわせて読みたい
JavaScript/TypeScriptプログラマのIDEは半数以上がVSCode、32%がテストを書かない。JetBrainsによるアンケート調査
≪前の記事
NVIDIA CEO、AIにより人間の言葉がプログラミング言語となったことで、プログラミングを学ぶことは重要でなくなった、と発言