Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gowebapi/webapi
Go Lang Web Assembly bindings for DOM, HTML etc
https://github.com/gowebapi/webapi
binding golang wasm
Last synced: about 1 month ago
JSON representation
Go Lang Web Assembly bindings for DOM, HTML etc
- Host: GitHub
- URL: https://github.com/gowebapi/webapi
- Owner: gowebapi
- License: bsd-3-clause
- Created: 2019-02-08T05:58:35.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2022-12-21T11:57:32.000Z (about 2 years ago)
- Last Synced: 2024-08-03T19:10:02.454Z (5 months ago)
- Topics: binding, golang, wasm
- Language: Go
- Size: 2.58 MB
- Stars: 171
- Watchers: 9
- Forks: 12
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-go-extra - webapi - 02-08T05:58:35Z|2022-01-11T19:08:27Z| (WebAssembly / Routers)
README
# WebAPI
Go Language Web Assembly bindings for DOM, HTML etc
[![GoDoc](https://godoc.org/github.com/gowebapi/webapi?status.svg)](https://godoc.org/github.com/gowebapi/webapi)
> __WARNING__: The current API is in very early state and should be consider to be expremental. There is upcommig changed like moving types into multiple packages.
This library is trying to be feature complete and up to date with current standard to let everything a browser having to offect be available in WebAssembly in a Go API accessable. To achive this most
of the code is [generated](https://github.com/gowebapi/webidlgenerator) from [WebIDL files](https://github.com/gowebapi/idl). WebIDL files can be found in different standard making it easiser to be up to date than handwritten binding code.Example:
```golang
func main() {
element := webapiall.GetWindow().Document().GetElementById("foo")
// NOTE: After Go 1.12, the extra call to JSValue() will no loger be needed
button := webapiall.HTMLButtonElementFromJS(element.JSValue())
button.SetValue("Hello World")
}
```## Roadmap
|Milestone|Status|Description|
|----|----|----|
|1|Ongoing|Be abto to read and and understand all of WebIDL syntax. Notible missing thing are _namespace_ and _union_|
|2|Planned|Easy up the syntax. Promise will be refactor and other places where simplifications can be done. Classes can be renamed like clipboard.ClipboardPermission to clipboard.Permission.|
|3|Planned|API Stability with a predefined release schedule. Documentation and added examples|More infomation of missing stuff can be found on the [generator status info](https://github.com/gowebapi/webidlgenerator).