Wasmer 团队开源了一款用 Rust 编写的 JavaScript Service Worker:WinterJS。
WinterJS 开源地址:https://github.com/wasmerio/winterjs
据介绍,WinterJS 使用 SpiderMonkey 运行时执行 JavaScript(与 Firefox 使用的运行时相同),并遵循 WinterCG 规范,目的是最大限度地兼容 Cloudflare Workers、Deno Deploy 和 Vercel 等其他服务(因此命名为 WinterJS)。
WinterJS 除了速度极快,还能通过 WASIX 编译成 WebAssembly,因此完全支持在 Wasmer 上运行。
- 使用示例
创建serviceworker.js
文件,并返回 "hello world"
$ wasmer run wasmer/winterjs --net --mapdir /app:. /app/serviceworker.js
addEventListener('fetch', (req) => {
req.respondWith(`hello world from ${req.request.url.href}`);
});
Wasmer 是支持 WASI 和 Emscripten 的通用 WebAssembly 运行时,提供基于 WebAssembly 的超轻量级容器,专注于支持在任何平台上运行 WASM 代码:从桌面端到云端、以及 IoT 设备,并且能嵌入在任何编程语言中。
Wasmer 凭借其多样化的支持和专注于从通用桌面应用程序到 “便携式 ML/AI 应用程序” 的领域,目前仍然是领先的 WASM 运行时之一。