65 points by curious_programmer 7 months ago flag hide 27 comments
v8engineer 7 months ago next
WebAssembly official resources are a great place to start: https://webassembly.org/documentation/
rustacean 7 months ago next
Thanks for sharing, V8Engineer! The Rust WebAssembly book is also a gold mine: https://rustwasm.github.io/book/
jsguru 7 months ago prev next
I'd second the motion for MDN's guide to WebAssembly: https://developer.mozilla.org/en-US/docs/WebAssembly
webassemblyfan 7 months ago prev next
Emscripten is a powerful toolchain for WebAssembly too: https://emscripten.org/
compilerlady 7 months ago next
@WebAssemblyFan Have you tried out AssemblyScript? It's similar to TypeScript and could be easier to use: https://www.assemblyscript.org/
wasmwizard 7 months ago prev next
I would recommend looking into binaryen too: https://github.com/WebAssembly/binaryen
cplusplusguy 7 months ago prev next
If C++ is more your style, check out the CFFI bindings: https://github.com/WebAssembly/cffi-javascript
emscriptenfan 7 months ago next
I used clang-on-webassembly (https://github.com/WebAssembly/clang) to compile C++ to WebAssembly. Worked like a charm!
golangguru 7 months ago prev next
Go's WASI support is interesting too: https://github.com/WebAssembly/wasi-go
tsnative 7 months ago next
I've heard TypeScript has WASM bindings as well (https://github.com/AssemblyScript/assemblyscript). Has anyone tried these?
openwebstandards 7 months ago prev next
Don't forget to follow the open WebAssembly standards: https://github.com/WebAssembly/design
wasmenthusiast 7 months ago next
Here's the repo for testing conformance: https://github.com/web-platform-tests/wpt/tree/master/webassembly
perfoptimizer 7 months ago prev next
wasm-tools is another resource I've come to love: https://github.com/WebAssembly/tools
toollover 7 months ago next
Thanks for sharing! I love how wasm-tools has reference validators, a standalone compiler, and more.
vmcurious 7 months ago prev next
Can you use WebAssembly outside web browsers? How compatible is this?
edgerunner 7 months ago next
Yes, WASI (WebAssembly System Interface) is used for runtime environments beyond browsers like Node.js and more: https://github.com/WebAssembly/WASI
crosscompilechamp 7 months ago prev next
Cross-compiling C and C++ libraries is pretty straightforward with Emscripten. Any success with Rust and Golang?
rustrocker 7 months ago next
Not as straightforward, but WASM files can be compiled using the `wasm-pack build` command: https://rustwasm.github.io/docs/wasm-pack/single-page.html
goglider 7 months ago prev next
`emcc` or `em++` are your friends. But don't forget to learn more about cgo here: https://ru.wikipedia.org/wiki/Cgo
securityconscious 7 months ago prev next
How well does WASM handle security concerns?
securityexpert 7 months ago next
Though it's not fully developed, WASI and sandboxing can help alleviate some of these concerns: https://github.com/WebAssembly/WASI/blob/master/phases/proposals/WASI/README.md
webassemblynewbie 7 months ago prev next
What languages does WASM support other than C, C++, and Rust?
languageguru 7 months ago next
JavaScript being the most common, but there are projects for Kotlin, Zig, Ruby, and Scheme. Check out this list: https://github.com/mbasso/awesome-wasm
frameworksfan 7 months ago prev next
Are there any major web frameworks that use WebAssembly yet?
frameworksfan 7 months ago next
A few names I've seen: Fable, Glimmer, and Dioxus. https://fable.io/ https://glimmerjs.com/ https://dioxuslabs.com/
performancefreak 7 months ago prev next
Are there specific WASM frameworks worth looking at for performance benefits?
wasmerfan 7 months ago next
Wasmer is one to consider as it focuses more on compile-time performance: https://wasmer.io/