JavaScriptランタイム「WinterJS 1.0」リリース、WasmerがRustで開発:CloudflareアプリケーションやReact Server Componentsもサポート
Wasmerは、Rustで書かれた高速JavaScriptランタイムの正式版「WinterJS 1.0」を発表した。
WebAssembly(Wasm)ランタイムを開発するWasmerは2024年3月12日(米国時間)、Rustで書かれた高速JavaScriptランタイムの正式版「WinterJS 1.0」を発表した。
WinterJSは、WinterCG仕様と互換性があり、「SpiderMonkey」エンジンを使ってJavaScriptを実行し、非同期ランタイム「Tokio」を使ってHTTPリクエストとJSイベントループを処理する。WebAssemblyにコンパイルすることもできるため、同社のサーバレスアプリケーションプラットフォーム「Wasmer Edge」で完全に実行可能な初の本番グレードランタイムでもあるとしている。
Wasmerは、WinterJS 1.0の特徴について以下のように説明している。
「Bun」「WorkerD」「Node」との比較、ベンチマーク結果は?
WinterJS 1.0は、ネイティブに実行すると、15万リクエスト/秒を処理できる。WASIXを使ってWasmにコンパイルした場合は、2万リクエスト/秒の処理が可能だ。WASIXは、WebAssemblyでネットワークやファイル、メモリなどのシステムリソースを抽象化するAPI仕様であるWASIを、POSIX(Portable Operating System Interface)対応に拡張したものだ。
Wasmerは、2024年2月に「MacBook Pro M3 Max」(64GB RAM)を使って行った以下のベンチマーク結果を紹介し、WinterJSは「Bun」「WorkerD」「Node」よりも高速だとしている。
WinterCG仕様との互換性
WinterCG(Web-interoperable Runtimes Community Group:Web相互運用性JavaScriptランタイムコミュニティーグループ)は、Cloudflare、Vercel、Shopify、オープンソースプロジェクトの「Node.js」と「Deno」それぞれの主要コントリビューターが2022年に創設した、W3C(World Wide Web Consortium)のコミュニティーグループだ。「Cloudflare Workers」(サーバレスプラットフォーム)、Node.js(サーバサイドJavaScript実行環境)、Deno(JavaScriptとTypeScriptのランタイム環境)など、Webブラウザ以外のJavaScript実行環境における標準APIの相互運用可能な実装に焦点を当てている。
WinterJSは、データフェッチ、ファイル、ストリーム、テキストエンコーダー、暗号化といったAPIセットでWinterCG仕様をサポートしている。
Cloudflare APIとの互換性
Wasmerは、WinterJSでほとんどのフロントエンドフレームワークを動作させることを目指し、Cloudflare APIとの互換性を確保することを選択した。
Cloudflare Workerのワークロードをサポートするために、import構文によるESモジュールのサポート、Node.js互換APIのサポート、「_routes.json」による呼び出しルートのサポート、ファイルシステム構造のサポート、CloudflareのWinterCGカスタムフェッチAPIのサポートに取り組んだという。
既存Webフレームワークとの互換性
Cloudflare Workers APIとの互換性により、WinterJSは以下のフレームワークを完全にサポートするようになり、フレームワークによって生成された静的なWebサイトを提供するだけでなく、下記のフレームワークによるサーバサイドレンダリング(SSR)も可能にした。
- Next.js
- Next.js React Server Components(サーバサイドフェッチキャッシュはまだ実装されていない)
- Hono
- Astro.build
- Remix.run
- Svelte
- Gatsby
- Nuxt
Wasmerは、WebAssemblyにコンパイルしたWinterJSをWasmer Edgeで実行することで、例えばNext.jsフロントエンドをVercelからWasmer Edgeに移行し、はるかに低コストでローカルで完全に再現することが可能になると述べている。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- Wasmer、「Wasmer JavaScript SDK」を発表
WebAssembly(Wasm)ランタイムを開発するWasmerは、WASI(X)アプリケーションをブラウザで簡単に実行するための新しいライブラリ「Wasmer JavaScript SDK」を発表した。 - Cloudflareとオープンソースコミュニティー、W3Cの新コミュニティーグループ「WinterCG」を共同で創設
CDN大手のCloudflareはVercel、Shopify、オープンソースプロジェクトの「Node.js」と「Deno」それぞれの主要コントリビューターと共同で、W3Cの新しいコミュニティーグループ「Web-interoperable Runtimes Community Group」(Web相互運用性JavaScriptランタイムコミュニティーグループ:WinterCG)を創設した。 - かつてないほどリードを拡大するPython、JavaScriptも伸長 プログラミング言語ランキング
プログラミング言語の人気ランキング「TIOBEインデックス」の2024年3月版が公開された。変動が少ない中、Pythonがリードを広げた他、Scratchがトップ10に返り咲き、Rustも再び上昇してきた。