A Go library providing DOM bindings and Web API wrappers for WebAssembly applications.
dom is a Go library that provides DOM bindings and Web API wrappers for WebAssembly targets. It enables Go developers to build web applications that run in the browser by offering idiomatic access to DOM manipulation, browser storage, and extension APIs. The library includes a development server for rapid prototyping with live recompilation.
Go developers building WebAssembly applications that require direct DOM manipulation, browser API access, or Chrome extension functionality.
Developers choose dom because it provides a more ergonomic alternative to raw `syscall/js` with comprehensive Web API coverage, stable versioning, and tools like `wasm-server` for faster development cycles.
DOM library for Go and WASM
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides improved developer experience over raw `syscall/js` with better API design, reducing boilerplate for Go WebAssembly projects.
Covers DOM manipulation, storage, extensions, WebSockets, and SVG, enabling full-featured web applications directly from Go code.
Includes `wasm-server` for fast prototyping with live recompilation on page refresh, speeding up iteration cycles.
API is carefully versioned to avoid breaking changes, as stated in the README, ensuring reliability for dependent projects.
The library is in active development, which may lead to instability, frequent updates, or undocumented changes despite versioning efforts.
Go WebAssembly has a smaller community and fewer third-party libraries compared to JavaScript, limiting tooling and support options.
Requires specific Go toolchain setup and environment variables (e.g., GOARCH=wasm), as shown in the editor configuration, adding complexity.