The Shiny project was created in an effort to understand how a graphical application toolkit could be created to be in keeping with the Go idiom. Therefore, it is important that its API and methodologies should match the Go language semantics and standard library, its dependencies should be only pure Go libraries or existing system routines, and it should provide a modern approach to developing an application GUI. Much of this is only possible if you start from scratch, as you can tell from the toolkit bindings we saw in Section 2, Toolkits Using Existing Widgets of this book. It lives in the golang.org/x/exp/shiny repository—an experimental extension to the Go libraries.
The project was started as an investigation by Nigel Tao, a Go developer who had been working on golang.org/x/mobile (on which Shiny depends...