Hey all,
I made a tiny library that provides a cross-platform web UI for Go apps.
No dependencies on Windows and Mac. Gtk-Webkit is only required on Linux and OpenBSD.
Resulting binaries are much smaller and less resource-hungry comparing to Electron.
Supported browser engines are modern enough to let developers use HTML5/CSS3 without any quirks (on Windows IE10-IE11 are used).
I tried to keep Go API very simple, and the whole library is very concise, too.
JavaScript<->Go bindings are provided to let core app communicate with the UI.
I haven't thought much about how to architect such apps, but to me the reactive approach works really well (something similar to redux). I keep app state in Go as a structure, pass it as JSON to the UI and incrementally update the UI (using picodom.js).
Also, in response to UI actions I send a JSON describing the action and its parameters to Go where I handle it and update the state.
Apart from the app architecture, I wonder what features do you think this library lacks for your needs, or what could be done better.
Any ideas, feedback or critique are welcome.
Thanks!
Serge