Shortly before the meteorological start of spring, version 1.0 of WinterJS was released. The JavaScript server from the server-side WebAssembly runtime Wasmer has now reached a stable level. With the first major version, the server written in Rust brings compatibility with the Cloudflare API for interaction with various JavaScript frameworks and React Server components.
Advertisement
Race with Bun
The JavaScript server is primarily designed for high throughput. In a benchmark from the WinterJS team that compares version 1.0 with Bun, Node.js and WorkerD, WinterJS has 150,000 requests per second (Req/s requests per second), while Bun has 117,000 Req/s and Node.js 75,000 Req /s and WorderD process 40,000 req/s.
WinterJS combines the SpiderMonkey JavaScript engine with the Tokio stack to process HTTP requests.
The WinterJS runtime can also be compiled to WebAssembly using WASIX for use with Wasmer Edge, among others. However, the throughput drops significantly.
Compatible with Next.js, Svelte, Nuxt and Co.
Version 1.0 is compatible with the Cloudflare Worker APIs to ensure interaction with common JavaScript frameworks. According to the release blog post, WinterJS works with Next.js, Svelte, Nuxt, Gatsby, Hono, Astro.build and Remix.run.
The server not only displays statically generated websites, but also offers server side rendering. In addition, the 1.0 release can now handle React Server Components.
WinterJS meets WinterCG
According to the announcement, version 1.0 is almost fully compatible with the Web-interoperable Runtimes Community Group's WinterCG specification. The W3C Community Group, which includes members from Node.js, Deno and Cloudflare, among others, wants to ensure the seamless interaction of the APIs of JavaSript runtimes.
However, the WinterJS GitHub repository points out that the project is not an official recommendation from WinterCG, despite the similar names.
The enterprise JavaScript conference enterJS will take place on May 7th and 8th in Mainz. The organizers dpunkt.verlag and iX are presenting over 35 lectures and three workshops on topics such as JavaScript in general, frameworks in particular as well as tools and techniques related to the programming language.
Excerpt from the program:
Further details can be found on the Wasmer blog. The code including the instructions for building the binaries can be found in the WinterJS GitHub repository, as can an overview of WinterCG compatibility.
(rme)