Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Pretty much everyone who wants a quick-start into wasm can use Walt to get there. The use-cases are not specific to this project alone but more to WebAssembly in general. The fact that Walt does not require a stand-alone compiler and can integrate into any(almost?) build tool still makes certain projects better candidates over others.
- Web/Node libraries, looking to improve performance.
- Projects depending on heavy real-time computation from complex UIs to 3D visualizations
- Web VR/AR
- Anyone interested in WebAssembly who is not familiar with system languages.
WYSIWYG or No Surprises.
Sticking with the theme of " it's just WebAssembly", there is no attempt to provide additional niceties over compiled output. You get back what you wrote. You may have skipped a few steps to get there, but it's still the code you intended. What this results in, is predictable code, but it also means that Walt does not implement the following
- A runtime library/compatibility layer
- DOM bindings
- Opaque imports/exports
- Implicit memory declarations and memory management
What Walt does do is make it easy for you to import any number of utilities that do this for you. And in time, when WebAssembly has native GC or native DOM bindings, Walt will make that available!
Do it Yourself
Walt holds no opinions about how memory should be managed in your module or how Web APIs should be exposed. That is all up to you. Walt simply gives you the tools to do so yourself. You may include a
malloc/free utility, or import a
document.createElement wrapper, but you also may find that you don't need any memory management or that you'd like to expose your micro-optimized version.
When it comes to low-level details, there isn't a catch-all which works for all Applications and all use-cases. Walt attempts to free API/tool authors to provide these themselves, instead of forcing a one-size-fits-all solution.