wasm-by-example
cxx-wasm-freestanding
wasm-by-example | cxx-wasm-freestanding | |
---|---|---|
1 | 1 | |
484 | 3 | |
- | - | |
0.0 | 10.0 | |
about 2 months ago | over 2 years ago | |
JavaScript | C++ | |
- | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
wasm-by-example
-
WASM by Example
Looks like the code is here if you want to send a PR: https://github.com/torch2424/wasm-by-example
cxx-wasm-freestanding
-
WASM by Example
Hello world just needs to call console.log, so doesn't need libc. Here's an example that builds without libc / emscripten to produce a very small wasm hello world: https://github.com/nikki93/cxx-wasm-freestanding
You do need some JS code that asks the browser to run the wasm blob. You can't eg. just have a script tag that refers to a wasm blob yet.
libc does help with things like having an allocator or string operations etc., or for using C libraries that use libc. And that's where emscripten becomes helpful.
Browser functionality like the console or making html elements is exposed through JS interfaces, and the wasm needs
What are some alternatives?
dotnet-pdk - Extism Plug-in Development Kit (PDK) for C# and F#
componentize-py
extism - The framework for building with WebAssembly (wasm). Easily load wasm modules, move data, call functions, and build extensible apps.
dcraw - Mirror of Dave Coffin's dcraw, with full history
cargo-component - A Cargo subcommand for creating WebAssembly components based on the component model proposal.
wit-bindgen - A language binding generator for WebAssembly interface types
scale - A framework for building high-performance plugin systems into any application, powered by WebAssembly.
jco - JavaScript tooling for working with WebAssembly Components
workers-wasi
wazero - wazero: the zero dependency WebAssembly runtime for Go developers