dotnet-pdk
cxx-wasm-freestanding
dotnet-pdk | cxx-wasm-freestanding | |
---|---|---|
2 | 1 | |
33 | 3 | |
- | - | |
8.8 | 10.0 | |
17 days ago | over 2 years ago | |
C# | C++ | |
BSD 3-clause "New" or "Revised" License | - |
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.
dotnet-pdk
-
WASM by Example
https://github.com/extism/dotnet-pdk
-
Extism: .NET support added to WebAssembly Plug-in system!
Not yet, but we are very close to shipping a C# PDK, which would let you do exactly that. You can follow along or contribute if you would like to at: https://github.com/extism/csharp-pdk
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?
componentize-py
wasm-by-example - Wasm By Example is a website with a set of hands-on introduction examples and tutorials for WebAssembly (Wasm)
cargo-component - A Cargo subcommand for creating WebAssembly components based on the component model proposal.
dcraw - Mirror of Dave Coffin's dcraw, with full history
scale - A framework for building high-performance plugin systems into any application, powered by WebAssembly.
wit-bindgen - A language binding generator for WebAssembly interface types
jco - JavaScript tooling for working with WebAssembly Components
foundationdb - FoundationDB - the open source, distributed, transactional key-value store
wazero - wazero: the zero dependency WebAssembly runtime for Go developers