WASM Awesome
tip
- 推荐 rust, c, c++, zig
- 推荐 js 加嵌入类型的 engine - duktape, quickjs
- emscripten 可以将 llvm 支持的任意语言编译为 wasm
- 几种场景
- for WASM
- 语言层面 AssemblyScript
- port to WASM
- 编译为 wasm
- ir -> wasm
- WASM to Native
- for WASM
- WebAssembly
- Language
- AssemblyScript
- 直接输出 wasm
- 类 TypeScript 语法
- Rust & Wasm
- AssemblyScript
- Runtime
- wasmerio/wasmer
- MIT, Rust
- supporting WASIX, WASI and Emscripten
- wasmerio/wasmer-go runtime for Go
- wasm3/wasm3
- MIT, C
- interpreter
- WasmEdge/WasmEdge
- Apache-2.0, C++
- WebAssembly runtime for cloud native, edge, and decentralized applications
- second-state/dapr-wasm
- tetratelabs/wazero
- Apache-2.0, Go
- 无依赖
- wasmerio/wasmer
- Toolchain
- bytecodealliance/javy
- Apache-2.0, Rust
- CanadaHonk/porffor
- MIT, JS, TS
- AOT JS engine
- tc39/test262
- ECMAScript Conformance Test Suite
- 测试 JS 兼容性
- bytecodealliance/javy
- bytecodealliance
- bytecodealliance/lucet
Sandboxing WebAssembly Compiler.
- Apache-2.0, Rust
- bytecodealliance/wasmtime
JIT-style runtime for WebAssembly
- Apache-2.0, Rust
- bytecodealliance/wasm-micro-runtime
wasm Micro Runtime
- Apache-2.0, C
- bytecodealliance/wizer
- Apache-2.0, Rust
- WebAssembly Pre-Initializer
- 空间换时间
- bytecodealliance/wit-bindgen
- bytecodealliance/lucet
Sandboxing WebAssembly Compiler.
- aduros/wasm4
- Build retro games using WebAssembly
- suborbital/sat
- Apache-2.0, Go
- Tiny, blazing fast WebAssembly compute
- HN
- 包含作者选型原因
- https://webvm.io/
- zandaqo/iswasmfast
- wasmx/fizzy
- WAVM/WAVM
- BSD-3, C++
- WebAssembly Virtual Machine
- ewasm/design
- Ethereum flavored WebAssembly
- suborbital/atmo
- framework for cloud native WebAssembly
- lunatic-solutions/lunatic
- Erlang-inspired runtime for WebAssembly
- wasmCloud/wasmCloud
- deislabs/hippo
- WebAssembly PaaS
- WebAssembly/component-model
- https://wapm.io/
- CosmWasm/cosmwasm
- building smart contracts in Wasm for the Cosmos SDK
- EOSIO/eos-vm
- WebAssembly Backend Library
- https://krustlet.dev/
- krustlet/krustlet
- Run WebAssembly workloads in Kubernetes
- https://v8.dev/blog/emscripten-standalone-wasm
- fermyon/spin
- Apache-2, Rust
- developer tool for building and running serverless applications
- renderlet/wander
JS
- duktape
- jerryscript-project/jerryscript
- quickjs
- ES2020
- wasm 1MB 左右
- justjake/quickjs-emscripten
- second-state/wasmedge-quickjs
mbbill/JSC.js- maple3142/wasm-jseval
<iframe sandbox="allow-scripts"/>
- 参考
- How to build a plugin system on the web and also sleep well at night
- An update on plugin security
- Making JavaScript run fast on WebAssembly
- HN
- 使用 wizer 预初始化
- cretz/go-wasm-bake
- 对 Go 的 Wasm 就行预初始化
- facebook/prepack
- 类似的对 js bundle 就行预初始化
- repl
Web
Misc
- turbolent/w2c2
- wasm to c
参考
Learn
emscripten
- emscripten-core/emscripten
- LLVM-to-WebAssembly Compiler
- WebAssembly/binaryen
- Optimizer and compiler/toolchain library for WebAssembly
TBD
https://github.com/petersalomonsen/wasm-git/blob/master/README.md https://github.com/mbasso/awesome-wasm https://nodejs.org/api/wasi.html