Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Hands-On GUI Application Development in Go

You're reading from   Hands-On GUI Application Development in Go Build responsive, cross-platform, graphical applications with the Go programming language

Arrow left icon
Product type Paperback
Published in Feb 2019
Publisher Packt
ISBN-13 9781789138412
Length 450 pages
Edition 1st Edition
Languages
Tools
Arrow right icon
Author (1):
Arrow left icon
Andrew Williams Andrew Williams
Author Profile Icon Andrew Williams
Andrew Williams
Arrow right icon
View More author details
Toc

Table of Contents (24) Chapters Close

Preface 1. Section 1: Graphical User Interface Development FREE CHAPTER
2. The Benefits of Native Graphical Applications 3. Graphical User Interface Challenges 4. Go to the Rescue! 5. Section 2: Toolkits Using Existing Widgets
6. Walk - Building Graphical Windows Applications 7. andlabs UI - Cross-platform Native UIs 8. Go-GTK - Multiple Platforms with GTK 9. Go-Qt - Multiple Platforms with Qt 10. Section 3: Modern Graphical Toolkits
11. Shiny - Experimental Go GUI API 12. nk - Nuklear for Go 13. Fyne - Material Design-Based GUI 14. Section 4: Growing and Distributing Your Application
15. Navigation and Multiple Windows 16. Concurrency, Networking, and Cloud Services 17. Best Practices in Go GUI Development 18. Distributing Your Application 19. Installation Details 20. Cross Compiler Setup 21. Comparison of GUI Toolkits
22. Connecting GoMail to a Real Email Server 23. Other Books You May Enjoy

Building a user interface

Let's return to our GoMail application again to try out the nk API. Nuklear is an established toolkit with a lot of functionality so it should be able to build the user interface just as well as previous examples. What we'll see as we build out this user interface is how different an immediate mode toolkit is, in how the code is arranged and how event handling is managed.

We can start by copying the hello world application so we don't have to re-work all of the setup code and life cycle management. As this application is going to contain many more graphical elements, we need to increase the buffer sizes that set using NkPlatformRender(). Replace the original line with the following for this example. In your own applications, this may need to be higher still—if the number is too low, you may notice graphical elements not showing...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime