X

曜彤.手记

随记,关于互联网技术、产品与创业

  1. 新兴语言(Emerging Language)
  2. 多媒体处理(Multimedia Processing)
  3. 仿真器(Emulator)
  4. Web 前端框架(Web Frontend)
  5. 库(Library)
  6. 物联网(IOT)
  7. 编译器(Compiler)
  8. 虚拟机/运行时(Virtual Machine / Runtime)
  9. 云(Cloud)
  10. 游戏引擎(Game Engine)
  11. 工具(Tool)
  12. 教学(Education)
  13. 性能测试(Benchmark)
  14. 其他(Others)

WebAssembly Weekly 集合整理(2021 / 05)

整理了一下 WebAssembly Weekly 上从 2017 年至 2021 年 5 月这段时间出现的,有关 Wasm 的一些技术实践和技术产品。

新兴语言(Emerging Language)

  • Walt - 用于 WAT 的类 JavaScript 语法(比 WAT 再抽象一层);
let counter: i32 = 0;

export function decrement(): i32 {
  counter -= 1;
  return counter;
}

export function increment(): i32 {
  counter += 1;
  return counter;
}
  • Astro - 一个用于 Wasm 的多范式语言;
  • Grain - 一个可以被编译到 Wasm 的语言,内部借助了 Binaryen;
  • Lys - 一个可以被编译到 Wasm 的语言。

多媒体处理(Multimedia Processing)

  • GlitchBitch - 用于在图片上制作“毛刺”效果的 JavaScript 插件;
  • Color Palette - 基于 K-Means 实现的图像调色板(从图像上选取主题色)应用;
  • WebAssembly ZXing - 基于 Wasm 的 Zxing Web 实现(用于二维码扫描和识别);
  • WASM Fractal Generator - 基于 Wasm 的分形发生器;
  • Squoosh - 在线图片处理工具;
  • draw-app - 简易的在线画图应用;
  • Photon - 可用于 Web 应用的在线图像处理库;
  • ogv.js - JavaScript 媒体播放器(Ogg / Vorbis / Theora / Opus / WebM);
  • WXInlinePlayer - 高效的 FLV 流媒体解码器(H.264/H.265);
  • MakePad - 基于 Wasm 的在线 Shader 编译器;
  • ffmpeg.wasm - JavaScript 版本的 FFmpeg。

仿真器(Emulator)

  • SaltyNES - 一个 NES 仿真器;
  • Pinky - 基于 Rust 构建的 NES 仿真器;
  • wasmboy - 基于 AssemblyScript 编写的 Game Boy 仿真器;
  • TweetX86 - 基于 Nasm 等构建的 X86 汇编仿真器;
  • gomeboycolor - Game Boy Color 仿真器;
  • chip8-wasm - Chip-8 仿真器;
  • Ruffle - Flash Player 仿真器;
  • nes-rust - NES 仿真器。

Web 前端框架(Web Frontend)

  • Yew - 一个可以使用 Rust 构建 Web 前端应用的框架;
  • Seed - 一个可以使用 Rust 构建 Web 前端应用的框架;
  • Vugu - 一个可以使用 Go 构建 Web 应用的 UI 框架;
  • Vecty - 一个可以使用 Go 构建响应式、动态的 Web 框架;
  • Perspective - 基于 Wasm 的实时数据可视化组件;
  • QT - Wasm 版 QT;
  • Frogui - 基于 C# 和 .NET 实现的 UI 框架;
  • Prism - 使用 Ruby 构建 Web 应用的前端框架;
  • asm-dom - 基于 C++ 构建的 V-DOM,可用于构建 Web 应用;
  • go-vdom-wasm - 基于 Go 构建的 V-DOM,可用于构建 Web 应用;
  • Blazor - 基于 C# 的 Wasm Web UI 框架。

库(Library)

  • GLMW - 一个基于 Wasm 的矩阵和向量生成库;
  • ONNX.js - 可以在 JavaScript 中运行 ONNX 模型的库;
  • WASM-PDF - 可以使用 Wasm 和 JavaScript 生成 PDF 文件的库;
  • webm-wasm - 可以使用 Wasm 和 JavaScript 生成 webm 视频的库;
  • argon2-browser - Wasm 移植版的密码哈希函数库 Argon2;
  • tensorflow.js - Tensorflow H5 版本;
  • hash-wasm - 基于 Wasm 的哈希高性能哈希函数;
  • wasm-jseval - 基于 Wasm / Duktape / QuickJS 构建的安全的 JavaScript Eval 库。

物联网(IOT)

  • Nebulet - 一个可以在 Ring0 中运行的,基于 Wasm 实现的“用户模式”微内核;
  • wasmachine - 基于 FPGA 实现的 Wasm 规范。

编译器(Compiler)

  • WasmFiddle - 支持 C/C++ 的 Wasm 在线编译器;
  • WebAssembly Studio - 功能齐全的 Wasm 在线开发 IDE;
  • WasmExplorer - 支持 C/C++ 的 Wasm 在线编译器,可生成 X86 汇编代码;
  • wat2wasm - 一个 WAT 到 Wasm 在线编译器;
  • wasm2wat - 一个 Wasm 到 WAT 编译器(需从本地上传 Wasm 二进制模块文件);
  • Cheerp - Wasm 编译器;
  • NectarJS - JavaScript Native 编译器,可以将 JavaScript 编译为 Native Code;
  • brainfuck2wasm - 一个 BrainFuck 到 Wasm 的编译器;
  • JWebAssembly - 一个 Java 字节码到 Wasm 的编译器;
  • Bytecoder - 可于将 Java 字节码解释并转换为如 Wasm 等其他语言的编译器;
  • WAForth - 用于 Wasm 的 Forth 解释器和编译器;
  • wasmdec - 一个 Wasm 到 C 编译器;
  • TINYGO - 一个 Go 到 Wasm 编译器;
  • wag - 一个使用 Go 实现的 Wasm 编译器(字节码 -> 机器码);
  • Emscripten - 人尽皆知的强大 Wasm 编译工具链;
  • ilwasm - 一个 CIL 到 Wasm 编译器;
  • Asterius - 一个 Haskell 到 Wasm 编译器;
  • AssemblyScript - 一个 TypeScript 到 Wasm 编译器;
  • Asmble - 一个 Wasm 到 JVM 字节码编译器;
  • CobWeb - 一个 COBOL 到 Wasm 编译器。

虚拟机/运行时(Virtual Machine / Runtime)

  • WAVM - Wasm 虚拟机;
  • Life - Go 语言编写的安全、快速的 Wasm 虚拟机。主要用于分布式应用程序;
  • Wasmjit - 用于 Linux 的内核模式 Wasm 运行时;
  • Wasmer - 带有包管理能力的 Wasm 虚拟机;
  • Lucet - 支持 WASI 的 Wasm 编译器/虚拟机;
  • WAMR - Wasm 轻量级编译器/虚拟机;
  • Wasm3 - 基于 C 编写的高性能 Wasm 解释器;
  • GraalWasm - GraalVM 系列中用于 Wasm 的引擎;
  • Faasm - 一个无状态的 Serverless Wasm 运行时;
  • wasmtime - 使用 Cranelift 构建的独立的 Wasm 运行时引擎;
  • wac - 基于 C 编写的高性能 Wasm 解释器;
  • warpy - 基于 Python 编写的 Wasm 解释器;
  • pywasm - 基于 Python 编写的 Wasm 解释器;
  • SSVM - 专注于 AI、区块链应用的 Wasm 虚拟机;
  • Lunatic - 受 Erlang 语言启发的 Wasm 虚拟机。

云(Cloud)

  • waSCC Host - Wasm 安全能力连接器;
  • Krustlet - 支持 Wasm 的 Kubernetes Kubelet;
  • embly - 一个基于 Wasm 的 Serverless Web 应用框架;
  • olin - Wasm 云代码分析工具(跟踪诸如使用了多少指令,进行了多少次系统调用以及使用了多少内存等情况);
  • atmo - 可用于编写基于函数(Runnable)的云原生应用。这些 Runnable 最后会被编译为 Wasm 格式来运行;
  • WAGI - 使用 Wasm 格式代码作为 HTTP 请求的处理函数。

游戏引擎(Game Engine)

  • Defold - 一个用于 Web 和移动端的游戏开发引擎;
  • d3wasm - Tech4 / Doom3 基于 Wasm 的移植版;
  • ammo.js - Bullet 物理引擎的 Wasm 移植版;
  • Oryol - 一个小型可移植的 C++ 3D 开发框架;
  • ammo.js - Bullet 物理引擎的 Wasm 移植版;
  • Unity - Unity;
  • Unreal Engine - Unreal Engine。

工具(Tool)

  • Wasabi - 一个用于 Wasm 的动态分析框架;
  • inNative - 一个用于 Wasm 的 Native 嵌入层;
  • Wasienv - 用于 C/C++ 的 WASI 开发工具;
  • WABT - Wasm 二进制工具集;
  • Binaryen - Wasm 编译器基础设施和工具链。

教学(Education)

性能测试(Benchmark)

其他(Others)

  • d3-wasm-force - 基于 Wasm 重写的 d3-force;
  • ewasm - Wasm 版“以太坊”;
  • vim.wasm - Wasm 版 VIM 编辑器;
  • redshirt - 基于 Wasm 的操作系统;
  • Stork - 用于静态页面的内容搜索工具;
  • tinysearch - 用于静态页面全文本搜索引擎;
  • zellij - Rust 编写的命令行(其插件系统支持 Wasm 多语言);
  • wasi-fs-access - 一个运行在浏览器中的命令行应用。借助于 WASI、Wasm 以及 Asyncify 构建。基于 File System Access 标准,它可以访问并修改用户的本地文件。



评论 | Comments


Loading ...