Background and the vision for Shiny

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 2Toolkits 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), as he wanted to see desktop applications supported by a new API. After substantial development, it was proposed that this be added as an experimental project within the golang.org repositories, which was accepted in 2015. It is expected that, at some future point, the commonality between golang.org/x/mobile and golang.org/x/exp/shiny will be captured in a separate project, leaving the mobile and desktop specific portions in their respective projects.

The project's development has slowed in recent years but it remains a strong foundation for graphical applications to be built upon. Whether the project will see a resurgence or instead become the base upon which another is built is unclear at this time. Either way, it is an excellent low-level graphical API for Go and so we will look into the details of it and start to build a sample application.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.117.137.12