Gowut (Go Web UI Toolkit) is a full-featured, easy to use, platform independent Web UI Toolkit written in pure Go, no platform dependent native code is linked or called.
You can use this toolkit and build user interfaces with writing Go code only: you can assemble the client interface in Go, and write event handlers in Go. You may optionally spice it and make it more customized with some HTML and CSS (also added from Go code), but that is not required.
The UI can be simply assembled hierarchically from containers and components. Components can generate events which are dispatched to event handlers - also written in pure Go. If there is no component for an HTML tag you wish to use, you can use the Html component to wrap your custom HTML code. Components also allow you to specify custom HTML attributes that will be added for their (wrapper) HTML tags.
Creating user interfaces using Gowut does not require you to think like that the clients will view it and interact with it through a browser. The "browser" layer is hidden by Gowut. While styling the components is done through CSS (either by calling the style builder's methods or passing direct CSS codes), think of it like a way similar to formatting HTML tags with CSS.
The state of the components are stored on server side, in the memory. This means that if a browser is closed and reopened, or you navigate away and back, the same state will be rendered again. AJAX technology is used to automatically synchronize component's state from browser to server, and to dispatch events.
AJAX technology is used also to refresh some parts (components) that change (during event handling) without having to reload the whole page to see the changes.
To quickly test it and see it in action, run the "Showcase of Features" application by typing: (assuming you're in the root of your GOPATH)
Check out the live demo here: Coming soon...
Read the documentation here: Documentation
Check out a full application example here: Full App Example
Check out the godoc of Gowut here: http://godoc.org/github.com/icza/gowut/gwu
Bug reporting, issue tracking: https://github.com/icza/gowut/issues
Discussion forum: https://groups.google.com/d/forum/gowebuitoolkit