mcpField
W
wasm

wasm

github.com/thebeardedbearsas开发107115 次安装今天更新
代码仓库

关于 wasm

这是一份 WebAssembly 开发参考,涵盖编译、WASI、Component Model 和运行时,面向评估或构建浏览器、边缘、服务器及嵌入式 WASM 应用的开发者。

主要功能

  1. 01Rust、Go、C/C++ 和 AssemblyScript 编译
  2. 02WASI 命令与运行时示例
  3. 03类型化 Component Model 组合
  4. 04浏览器、边缘、服务器及嵌入式场景

适用场景

  1. 01编译 Rust 代码供浏览器使用
  2. 02使用 Wasmtime 运行 WASI 应用
  3. 03跨语言组合类型化模块
  4. 04评估 WASM 在边缘或嵌入式环境的用途

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/thebeardedbearsas/claude-craft --skill wasm

安装后在 Claude Code 中输入/wasm确认已加载。

详细介绍

WebAssembly(WASM)——组件模型、WASI

适用于性能关键型场景、多语言运行时和边缘计算的 WASM。

使用场景

浏览器——加密、图像(Figma、Google Earth)
边缘——Cloudflare Workers、Fastly
服务端——沙盒化插件(Envoy)
嵌入式——物联网、汽车

编译

Rust——wasm-pack(约 50KB,性能高)
Go——GOOS=js GOARCH=wasm(约 2MB)
C/C++——Emscripten(旧版)
AssemblyScript——类似 TypeScript

Rust 到 WASM

use wasm_bindgen::prelude::*;
#[wasm_bindgen] pub fn add(a: i32, b: i32) -> i32 { a + b }
wasm-pack build --target web
import init, { add } from './pkg/wasm.js';
await init(); add(2, 3);

WASI(系统接口)

rustc --target wasm32-wasi main.rs -o app.wasm
wasmtime app.wasm

组件模型

interface math { add: func(a: s32, b: s32) -> s32 }

组合类型化的 Rust/Go/C++ 模块。

边缘(Cloudflare)

import wasm from './processor.wasm';
export default {
  async fetch(req) {
    const inst = await WebAssembly.instantiate(wasm);
    return new Response(inst.exports.process(req.body));
  }
};

运行时

Wasmtime——快速,支持 WASI
Wasmer——通用
WasmEdge——边缘、K8s


请参阅 @.claude/skills/edge-computing/SKILL.md

评论

支持 Markdown