Discover Golang's GUI libraries such as Go-GTK (GIMP Toolkit) and Go-Qt and build beautiful, performant, and responsive graphical applications
- Conceptualize and build state-of-art GUI applications with Golang (Go)
- Tackle the complexity of varying GUI application sizes with a structured and scalable approach
- Get hands-on experience of GUI development with Shiny, and labs/ui, Fyne, and Walk
Go is often compared to C++ when it comes to low-level programming and implementations that require faster processing, such as Graphical User Interfaces (GUIs). In fact, many claim that Go is superior to C++ in terms of its concurrency and ease of use. Most graphical application toolkits, though, are still written using C or C++, and so they don't enjoy the benefits of using a modern programming language such as Go.
This guide to programming GUIs with Go 1.11 explores the various toolkits available, including UI, Walk, Shiny, and Fyne. The book compares the vision behind each project to help you pick the right approach for your project. Each framework is described in detail, outlining how you can build performant applications that users will love. To aid you further in creating applications using these emerging technologies, you'll be able to easily refer to code samples and screenshots featured in the book. In addition to toolkit-specific discussions, you'll cover more complex topics, such as how to structure growing graphical applications, and how cross-platform applications can integrate with each desktop operating system to create a seamless user experience. By delving into techniques and best practices for organizing and scaling Go-based graphical applications, you'll also glimpse Go's impressive concurrency system. In the concluding chapters, you'll discover how to distribute to the main desktop marketplaces and distribution channels.
By the end of this book, you'll be a confident GUI developer who can use the Go language to boost the performance of your applications.
What you will learn
- Understand the benefits and complexities of building native graphical applications
- Gain insights into how Go makes cross-platform graphical application development simple
- Build platform-native GUI applications using andlabs/ui
- Develop graphical Windows applications using Walk
- Create multiplatform GUI applications using Shiny, Nuklear, and Fyne
- Use Go wrappers for GTK and Qt for GUI application development
- Streamline your requirements to pick the correct toolkit strategy
Who this book is for
This book is designed for Go developers who are interested in building native graphical applications for desktop computers and beyond. Some knowledge of building applications using Go is useful, but not essential. Experience in developing GUIs is not required as the book explores the benefits and challenges they pose. This book will also be beneficial for GUI application developers who are interested in trying Go.
Table of Contents
- The Benefits of Native Graphical Applications
- Graphical User Interface Challenges
- Go to the Rescue!
- Walk - Building Windows Applications
- andlabs UI - Cross Platform Native Uis
- Go-GTK - Multiple Platforms with GTK
- Go-Qt - Multiple Platforms with QT
- Shiny - Go's Experimental API
- nk - Nuklear for Go
- Fyne - Material Design based GUI
- Navigation and Multiple Windows
- Concurrency, Networking and Cloud Services
- Best practices in Go GUI development
- Distributing your Application