Wasmer 开源 WinterJS:Rust 编写的 Service Worker


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 运行时之一。


相關推薦

2023-11-16

对该悬赏进行加码,将赏金升级到了 2 万美元。 此外,Wasmer 官方也附议了 Vjeux 的这一提议,并表示将额外提供 2500 美元的奖励。“我们喜欢这一倡议!如果项目编译到 WASIX 并(通过 CI)发布到 Wasmer,我们将为项目所有者

2023-04-05

被聚焦,在这个版本中,选择该元素的算法已经更新。 Service Worker 从 Chrome 112 开始,如果用户代理发现所有 service worker 的获取监听器都是无操作(no-op)的,那么 service worker 的启动和导航关键路径中的监听器分配将被省略。

2022-06-13

Wasmer 官方宣布在推出下一个大版本 Wasmer 3.0 之前先发布了一个 2.3 版本。 Wasmer 是支持 WASI 和 Emscripten 的通用 WebAssembly 运行时,提供基于 WebAssembly 的超轻量级容器,专注于支持在任何平台上运行 WASM 代码:从桌面端到云端、以

2023-04-08

Wasmer 团队宣布推出 WCGI —— 即 WebAssembly + CGI,可使用 WebAssembly 进行服务器端开发。 WCGI 将 WebAssembly 的强大功能与 CGI 的易用性和多功能性结合在一起。通过 WCGI,开发者使用 WebAssembly 和 Wasmer 即可运行任何 CGI 应用程序。

2022-09-17

95 个百分位数减少了 80 毫秒。在所有 customers 中,与 old service 相比,Pingora 每秒的新连接数只有三分之一。对于一个 major customer 来说,它将连接重用率从 87.1% 提高到 99.92%,这使得新连接到其 origins 的次数减少了 160 倍。“为了

2022-06-20

onsumption Linux 180 MB 462 MB Launch Time Linux 0.39s 0.80s Interface Service Provider WRY Chromium Backend Binding Rust Node.js (ECMAScript) Underlying Engine Rust V8 (C/C++) FLOSS Yes No Multithreading Yes Yes Bytecode Delivery Yes No Multiple Windows Yes Yes Auto Updater Yes Ye

2023-06-28

Wasmer 4.0 已正式发布。 Wasmer 是支持 WASI 和 Emscripten 的通用 WebAssembly 运行时,提供基于 WebAssembly 的超轻量级容器,专注于支持在任何平台上运行 WASM 代码:从桌面端到云端、以及 IoT 设备,并且能嵌入在任何编程语言中。

2023-04-20

Wasmer 3.2 已正式发布。Wasmer 是支持 WASI 和 Emscripten 的通用 WebAssembly 运行时,提供基于 WebAssembly 的超轻量级容器,专注于支持在任何平台上运行 WASM 代码:从桌面端到云端、以及 IoT 设备,并且能嵌入在任何编程语言中。 Wasmer 3

2023-03-05

谷歌宣布在 Apache 2.0 许可下开源 Service Weaver,一个用于构建和部署分布式应用程序的框架;允许用户将应用程序编写为模块化单体,并将其部署为一组微服务。目前,该项目尚处于早期开发阶段。 Service Weaver 由两个核心部分组

2022-11-22

Wasmer 3.0 已正式发布。Wasmer 是支持 WASI 和 Emscripten 的通用 WebAssembly 运行时,提供基于 WebAssembly 的超轻量级容器,专注于支持在任何平台上运行 WASM 代码:从桌面端到云端、以及 IoT 设备,并且能嵌入在任何编程语言中。 Wasmer 3

2022-08-02

Wasmer 3.0 发布了首个 Alpha 版本。 Wasmer 是支持 WASI 和 Emscripten 的通用 WebAssembly 运行时,提供基于 WebAssembly 的超轻量级容器,专注于支持在任何平台上运行 WASM 代码:从桌面端到云端、以及 IoT 设备,并且能嵌入在任何编程

2023-05-09

Wasmer 3.3 已发布。主要变化包括:引入对 JavaScriptCore 的支持,以及完整支持 WASI。据称使用 JavascriptCore 运行 WebAssembly 的速度提升了 2.5 倍。 Wasmer 是支持 WASI 和 Emscripten 的通用 WebAssembly 运行时,提供基于 WebAssembly 的超轻

2023-09-13

多元共进|2023 Google 开发者大会精彩演讲回顾 Wasmer 创始人兼 CEO Syrus Akbary 在 Zig 仓库中提出了一个“支持 WASIX”的 issue;并提供了 5000 美元的悬赏。他表示,Zig 支持 WASIX 对 Wasm 和 Zig 社区来说均意义重大。 根据介绍,WASIX

2023-02-28

之前的 KCL 版本中,在使用如下 rule 规则代码时 (main.k),ServiceCheckRule 的约束代码会不生效。 protocol KubeResourceProtocol: svc: Service schema Service: name: str rule ServiceCheckRule for KubeResourceProtocol: svc.name != "name" svc = Service { name = "name" }