Skip to content
András Belicza edited this page Sep 26, 2017 · 9 revisions

Introduction

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.

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.

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.

Read the complete documentation here: Documentation

To quickly test it and see it in action, run the "Showcase of Features" application by typing:

go run $GOPATH/src/github.com/icza/gowut/_examples/showcase/showcase.go

Check out the live demo here: https://gowut-demo.herokuapp.com/show

Features of Gowut

  • A component library to assemble your user interfaces with
  • A GUI server which serves browser clients
  • Session management
  • Automatic event handling and dispatching
  • (CSS) Style builder to easily manipulate the style of components

Further Reading

Check out a full app example here: Full App Example

Check out the godoc of Gowut: http://godoc.org/github.com/icza/gowut/gwu

Bug reporting, issue tracking: https://github.com/icza/gowut/issues

Development takes place in the dev branch: https://github.com/icza/gowut/tree/dev

Discussion forum: https://groups.google.com/d/forum/gowebuitoolkit

Clone this wiki locally