Book description
Discover Golang's GUI libraries such as Go-GTK (GIMP Toolkit) and Go-Qt and build beautiful, performant, and responsive graphical applications
Key Features
- 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
Book Description
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
- Title Page
- Copyright and Credits
- About Packt
- Contributors
- Preface
- Section 1: Graphical User Interface Development
- The Benefits of Native Graphical Applications
- Graphical User Interface Challenges
- Go to the Rescue!
- Section 2: Toolkits Using Existing Widgets
- Walk - Building Graphical Windows Applications
- andlabs UI - Cross-platform Native UIs
- Go-GTK - Multiple Platforms with GTK
- Go-Qt - Multiple Platforms with Qt
- Section 3: Modern Graphical Toolkits
- Shiny - Experimental Go GUI API
- nk - Nuklear for Go
- Fyne - Material Design-Based GUI
- Section 4: Growing and Distributing Your Application
- Navigation and Multiple Windows
- Concurrency, Networking, and Cloud Services
- Best Practices in Go GUI Development
- Distributing Your Application
- Installation Details
- Cross Compiler Setup
- Comparison of GUI Toolkits
- Connecting GoMail to a Real Email Server
- Other Books You May Enjoy
Product information
- Title: Hands-On GUI Application Development in Go
- Author(s):
- Release date: February 2019
- Publisher(s): Packt Publishing
- ISBN: 9781789138412
You might also like
book
Building Cross-Platform GUI Applications with Fyne
Understand how to use the Fyne toolkit to build exciting apps for a range of devices …
book
Hands-On Full Stack Development with Go
Create a real-world application in Go and explore various frameworks and methodologies for full-stack development Key …
book
Hands-On Embedded Programming with Qt
A comprehensive guide that will get you up and running with embedded software development using Qt5 …
book
Hands-On GUI Programming with C++ and Qt5
Create visually appealing and feature-rich applications by using Qt 5 and the C++ language About This …