新聞 | iThome ( ) • 2024-03-13 23:34

Wasmer释出了以Rust开发的JavaScript执行环境WinterJS,借由使用SpiderMonkey引擎执行JavaScript,并在底层以Rust非同步I/O框架Tokio,处理HTTP请求和JavaScript事件循环。官方提到,WinterJS不只速度快,而且可以编译成WebAssembly,在边缘运算平台Wasmer Edge中运作。

WinterJS 1.0遵循WinterCG(Web-interoperable Runtimes Community Group)规范,目标是要与Cloudflare Workers、Deno Deploy和Vercel等服务达到最大相容性。WinterCG是一个追求提升JavaScript执行环境间API互通性的社群,供不同JavaScript执行环境,特别是非浏览器环境的协作,以改善跨执行环境的网页平台相容性,目前组织成员包括Cloudflare、Deno、Fastly与Node.js等。

WinterJS 1.0以效能著称,根据官方的基准测试,WinterJS可以在单台笔电上,每秒处理高达15万次请求,速度高于WorkerD每秒4万次,以及Node每秒7.5万次,还有Bun的每秒1.17万次。

Wasmer在WinterJS与前端框架的相容性上采取明确的策略,确保所有前端框架均可在WinterJS上顺利运作,开发团队在分析Deno、Cloudflare与Fastly转接器(Adaptor)之后,认为Cloudflare是目前最好的选择,因为Cloudflare API已经支援其他API框架的大部分功能。

透过建立与Cloudflare Workers API的相容性,WinterJS支援的框架包括Next.js、Next.js React伺服器端元件、Nuxt与Svelte等8种框架,这些框架不仅可用于生成静态网站,也能够进行伺服器端渲染。WinterJS支援React伺服器端组件,代表著渲染可以完全在伺服器端完成,借由预生成HTML,使用户能够更快地看到画面,并减少客户端的运算负担。