We've explored toolkits that connect directly to an operating system's native widget set (Walk for Windows only and andlabs UI for Windows, macOS, and Linux) in Chapter 4, Walk - Building Graphical Windows Applications, and Chapter 5, andlabs UI - Cross-platform Native UIs. In this chapter and the next (Chapter 7, Go-Qt - Multiple Platforms with Qt), we'll look at widget toolkits that were designed to look similar to traditional native widgets while being built for multi-platform distribution. In each chapter, we'll work with a popular Go binding that provides access to most of the functionality of the underlying API.
In this chapter, we'll explore Go-GTK, the most popular Go binding to the GTK+ widget library. We'll cover the following:
- GTK+ background
- Getting started with Go-GTK
- Signals and namespaces
- Sample application
- Theming
By the end of this chapter, you'll be familiar with GTK+ and the Go-GTK library, having explored a few example applications. We will build a new version of the GoMail application and compare the results with our previous versions built with Walk and andlabs UI.