Skip to content

Iceber/awesome-webassembly

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

My Awesome WebAssembly Awesome

该仓库会持续更新,追踪最新活动与生态动态,后续增加英文版本

不只是记录社区动态,在其他文件中也会更新个人的一些总结和笔记

Other Awesome

WASM 处于快速发展的阶段,这里只包含活跃的 Awesome 仓库

WASM 规范

新增提案流程:https://github.com/WebAssembly/meetings/blob/main/process/proposal.md

提案标准化流程:https://github.com/WebAssembly/meetings/blob/main/process/phases.md

https://webassembly.github.io/spec/core/

WASM 二进制格式: https://webassembly.github.io/spec/core/binary/index.html

WAT 文本格式:https://webassembly.github.io/spec/core/text/index.html

高级目标:https://github.com/WebAssembly/design/blob/main/HighLevelGoals.md

常见问题:https://github.com/WebAssembly/design/blob/main/FAQ.md

WebAssembly/design 仓库 Issue 中记录新的规范提案,在 WebAssebmly/proposals 仓库中跟踪提案的进度

高级设计:https://github.com/WebAssembly/component-model/tree/main/design/high-level

WITX 格式(请使用 WIT):https://github.com/WebAssembly/WASI/blob/main/legacy/tools/witx-docs.md

WIT 格式: https://github.com/WebAssembly/component-model/blob/main/design/mvp/WIT.md

格式进化:WITX -> WAI -> WIT

WIT 中的 World 是什么,WASI 的最新 API 需要定义 WIT world:https://blog.sunfishcode.online/what-is-a-world/ 视频:

高级目标:https://github.com/WebAssembly/WASI/tree/main#wasi-high-level-goals

提案列表:https://github.com/WebAssembly/WASI/blob/main/Proposals.md

字节码联盟文档:https://github.com/bytecodealliance/wasmtime/blob/main/docs/WASI-documents.md


WASI 将 Preview2 的 API 定义由 WITX 迁移到 WIT 格式:https://github.com/WebAssembly/WASI/blob/main/docs/WitInWasi.md

使用 WIT 格式后, WASI 仓库的意义更多是跟踪 WASI API 提案的标准化

旧版(Preview1) WASI 文档: https://github.com/WebAssembly/WASI/tree/27faa3a87f0ef9e48cbbf5aaafb9a0eacd297ea1/phases

可以通过 bytecodealliance/preview2-prototyping 来以 preview1 的方式调用 preview2 函数

preview1 的模块名称为 wasi_snapshot_preview1

CNCF WASM Working Group

Google Doc: https://docs.google.com/document/d/1bcMK0layzDCiKmpdIB7gShMv7nuqw3TkxUeLcxx91VU/edit#heading=h.g4ksaonfmtzr

Slack: #wg-wasm

Runtime

Name Language Compiler Framework Compilation/ Execution Modes 亮点
Wasmtime Rust Cranelift JIT bytecode alliance 主导,新功能增加比较块
WAMR C Custom Interpreted, AOT, JIT bytecode alliance 主导,主打微型运行时,占用资源更少
WasmEdge C++ LLVM Interpreted, AOT 在 host function 支持更加丰富
Wasmer Rust, C++ Singlepass,Cranelift(Default),LLVM JIT, AOT 使用 singlepass 时可以无依赖运行 wasm
wasm3 C Custom Interpreted 6k repo,支持更多的架构平台
Wasmi Rust Custom Interpreted https://github.com/paritytech 开源的运行时,基本只在自己项目中使用
wazero Go Custom Interpreted, JIT golang 实现

wasmo 一个 Rust 实现的,基于 LLVM 的运行时,功能较少可以学习参考

2023 主流运行时的压测报告https://00f.net/2023/01/04/webassembly-benchmark-2023/

社区/厂商

社区/厂商 核心产品
CNCF TAG-Runtime Wasm Group https://docs.google.com/document/d/1bcMK0layzDCiKmpdIB7gShMv7nuqw3TkxUeLcxx91VU/edit#
wasmCloud wasm 平台
Second State wasmedge
Deis Labs spiderlightning, containerd-wasm-shims
Fermyon spin
cosmonic
contentful
taubyte wasm 平台
Loophole Labs scale
Suborbital https://github.com/suborbital/e2core
Wasm Labs https://wasmlabs.dev/projects/

优秀项目与工具

Containerd & WASM

WASM 应用框架

wasm 平台

工具(库)

WebAssembly 社区

https://github.com/WebAssembly/wabt

https://github.com/WebAssembly/wasi-testsuite

字节码联盟

https://github.com/bytecodealliance/cargo-component

https://github.com/bytecodealliance/wasm-tools

https://github.com/bytecodealliance/wit-bindgen

其他

Demo

https://github.com/radu-matei/wasm-components-example

About

Organize lists about webassembly outside the browser, provide useful information,will have more of a personal focus, not a traditional awesome repository

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published