FinUniversity Electronic Library

     

Details

Williams, Andrew. Hands-On GUI Application Development in Go: Build Responsive, Cross-Platform, Graphical Applications with the Go Programming Language. — Birmingham: Packt Publishing Ltd, 2019. — 1 online resource (432 pages). — Object model and event handling. — <URL:http://elib.fa.ru/ebsco/2035757.pdf>.

Record create date: 3/9/2019

Subject: Graphical user interfaces (Computer systems); Go (Computer program language); Go (Computer program language); Graphical user interfaces (Computer systems)

Collections: EBSCO

Allowed Actions:

Action 'Read' will be available if you login or access site from another network Action 'Download' will be available if you login or access site from another network

Group: Anonymous

Network: Internet

Annotation

Hands-On GUI Application Development in Go will help you to extend your knowledge of Golang and become a confident graphical application developer with Go. The book explores many graphical libraries available for Go to show how GUIs can be created for applications. This book is a guide to the most popular Go GUI Frameworks and techniques.

Document access rights

Network User group Action
Finuniversity Local Network All Read Print Download
Internet Readers Read Print
-> Internet Anonymous

Table of Contents

  • Cover
  • Title Page
  • Copyright and Credits
  • About Packt
  • Contributors
  • Table of Contents
  • Preface
  • Section 1: Graphical User Interface Development
  • Chapter 1: The Benefits of Native Graphical Applications
    • Return of the graphical application
      • Personal computers
      • From desktop to internet
      • Smart phones, apps, and customer retention
    • Native performance
    • Integrated user experience
    • Reliability and offline functionality
    • Maintainability and testing
    • Summary
  • Chapter 2: Graphical User Interface Challenges
    • Standard look and feel or app theme
    • GUIs and visual hierarchy
      • Multiple documents
      • Accessory windows
      • Visual hierarchy
      • Mobile standards
    • Concurrency and multi-threading
      • Switching threads
      • Avoiding complexity
    • Web services and cloud integration
      • Communications
      • Data parsing
      • Standard components
    • Developing for multiple platforms
      • Cross-platform APIs
      • Icons and design
      • Testing
    • Packaging and distribution
    • Summary
  • Chapter 3: Go to the Rescue!
    • Introduction
    • Cross-platform for any application
      • Cross-compiling
      • Standard library
    • Concurrency in language design
      • Goroutines
      • Channels
      • The sync package
    • Web services included as standard
    • Choosing your look and feel
    • Summary
  • Section 2: Toolkits Using Existing Widgets
  • Chapter 4: Walk - Building Graphical Windows Applications
    • Background and aims
    • Get started with walk
      • Setup
      • Code
      • Build
      • Run
    • Benefits of a declarative API
      • Compared with the native API
      • Using both APIs for flexibility
    • Building a user interface
      • Style
      • Layout
      • Toolbar and menu
      • Communicating with the GUI
        • View model
        • Detail view
        • List view
      • Background processing
    • Walk in a cross-platform application
    • Summary
  • Chapter 5: andlabs UI - Cross-platform Native UIs
    • Background and history
    • Getting started with andlabs UI
      • Prerequisites
        • Microsoft windows
        • macOS
        • Linux
      • Setup
        • Rebuilding the UI library (workaround)
      • Code
      • Build
      • Run
    • Generic API for multiple platforms
      • Controls
        • Box
        • Containers
        • Widgets
        • Menu
      • Area and drawing
    • Building a user interface
      • Style
      • Layout
        • Main email window
        • Email compose dialog
      • Toolbar and menu
      • Communicating with the GUI
      • Background processing
        • Example
    • Challenges with multiple native GUIs
      • Consistent style
        • Brand styles
        • User experience
      • Testing
      • Cross-compilation
        • Building for Linux on macOS or windows
          • macOS
          • Windows
        • Building for windows on Linux or macOS
        • Building for macOS on Linux or Windows
        • A better solution
    • Summary
  • Chapter 6: Go-GTK - Multiple Platforms with GTK
    • GTK+ background
    • Getting started with Go-GTK
      • Prerequisites
        • Installing GTK+
          • macOS
          • Windows
          • Linux
        • Install Go-GTK
      • Build
      • Run
    • Signals and namespaces
      • Signals
      • Passing data
      • Namespaces
    • Sample application
      • Layout
      • Compose layout
      • Signaling
      • Thread handling
      • Cross compilation
    • Theming
    • Summary
  • Chapter 7: Go-Qt - Multiple Platforms with Qt
    • Qt background
    • Getting started with therecipe/qt
      • Prerequisites
        • Preparing CGo
        • Installing Qt
          • macOS
          • Windows
          • Linux
          • License / Qt account
        • Installing qt (the bindings)
      • Build
      • Run
    • Object model and event handling
      • Inheritance
      • Memory management
      • Signals and slots
    • Sample application
      • Layout
      • The compose layout
      • Signalling
      • Thread handling
      • Cross-compilation
    • Theming
    • Summary
  • Section 3: Modern Graphical Toolkits
  • Chapter 8: Shiny - Experimental Go GUI API
    • Background and the vision for Shiny
    • Design and supported platforms
      • Architecture
        • Lower layer
        • Higher layer
      • Supported platforms
      • Drivers currently included
    • Getting started with Shiny
      • Setup
      • Example
      • Cross-compiling
        • Cross-compiling for macOS
    • Widgets and material design
      • Design
      • Icons
      • Themes
      • Widgets
    • Getting started continued
      • Code
      • Supporting code
      • Build and Run
    • Building a user interface
      • Design
      • Layout
      • Navigation
      • File list
      • Image view
      • Communicating with the GUI
      • Background processing
    • Summary
  • Chapter 9: nk - Nuklear for Go
    • Background and design of Nuklear
    • Rendering and platform support
      • Rendering modules
      • Supported platforms
    • Getting started with nk
      • Prerequisites
        • Linux
        • macOS and Windows
        • Android
      • Setup
      • Example
      • Code
      • Build and run
      • Cross-compiling
    • Widgets, layout, and skinning
      • Widgets
      • Layout
        • NkLayoutRow
        • NkLayoutRowTemplate
        • NkLayoutSpace
      • Drawing
        • Command queue
        • Draw functions
      • Skinning
      • Layout
        • Main email window
        • Email compose dialog
      • Toolbar and menu
      • Communicating with the GUI
      • Background processing
    • Summary
  • Chapter 10: Fyne - Material Design-Based GUI
    • Background and vision for Fyne
    • Getting started with Fyne
      • Prerequisites
        • Linux
        • macOS
      • Setup
      • Example
      • Code
      • Build and run
      • Cross compiling
    • Rendering and vector graphics
      • Vector graphics
      • Drivers
      • Supported platforms
    • Canvas, widgets, and layouts
      • Canvas (drawing)
      • Layout
      • Widgets
      • Themes
        • Packaged themes
    • Building a user interface
      • Layout
        • Main email window
        • Compose dialog
      • Toolbar and menu
      • Communicating with the GUI
        • Loading emails
        • Sending email
      • Background processing
    • Building an image viewer
      • Layout
      • Navigation
      • File listing
      • Image view
      • Communicating with the GUI
      • Background processing
    • Summary
  • Section 4: Growing and Distributing Your Application
  • Chapter 11: Navigation and Multiple Windows
    • Planning application layout
      • Standard layouts
      • Device form factors
      • Responsive or adaptive design
      • Custom layouts
    • Navigating your application
      • Progressive disclosure
        • Example 1 – Microsoft Edge
        • Example 2 – Skyscanner flight search
      • Menus and toolbars
        • Toolbar
        • Menu 
      • Multiple windows
    • Window types and keeping things clean
      • Standard dialogs
      • Modal windows
      • Window hints
        • Sizes
        • Other hints
    • Notifications and task status
      • Minor alerts
      • Background progress
    • Platform-specific considerations
      • Window grouping
      • Application instances
      • Extra features
    • Summary
  • Chapter 12: Concurrency, Networking, and Cloud Services
    • Concurrency, threads, and GUI updates
      • Managing long-running processes
        • Signaling shutdown
        • Checking completion
      • Communicating through channels
      • Graphical updates from goroutines
    • Network resources and caching
      • Loading remote resources
        • Images
        • JSON
      • Caching resource data
    • Connecting to cloud services
      • Encoding
        • JSON
        • XML
      • Authentication – OAuth 2.0
        • First request
        • Storing tokens
      • Posting data
      • GUI integration
        • Incoming messages
        • Activity notifications
          • Spinner
          • Status panel
    • Consistent user experience when offline
      • Caching responses
      • Queuing actions
      • Starting offline
    • Summary
  • Chapter 13: Best Practices in Go GUI Development
    • Separation of concerns
      • Suggested application structure
    • Test-driving UI development
      • Designed to be testable
      • Example application test
    • Continuous integration for GUIs
      • Approaches to GUI test automation
      • Avoiding external dependencies
    • Managing platform specifics
    • Summary
  • Chapter 14: Distributing Your Application
    • Metadata and icons
      • Application icon
      • Describing your app
    • Bundling assets
      • go-bindata
      • packr
      • rsrc
      • fyne bundle
    • Building a release
      • Preparing
        • Compiler installation
      • Building
      • Packaging
        • Linux
          • Create metadata files
          • Packaging release
        • macOS
          • Creating metadata files
          • Packaging release
        • Windows
          • Creating metadata files
          • Packaging release
        • Cross-platform packaging tools
          • fyne package
    • Distributing to platform marketplaces
      • Mac App Store
        • Packaging
        • Uploading
        • Reviewing
      • Microsoft Store
        • Packaging
        • Uploading
        • Reviewing
      • Linux package manager
        • Debian (.deb)
          • Packaging
          • Distribution
        • Red Hat (.rpm)
          • Packaging
          • Distribution
        • Tarball (.tar.gz)
          • Arch Linux
          • Gentoo Linux
          • Others
        • Containers
    • Summary
  • Installation Details
    • Installing Go
      • Microsoft Windows
        • Git
        • Go
        • Environment
      • Apple macOS
      • Linux
    • Setting up Cgo
      • Microsoft Windows
      • Apple macOS
      • Linux
  • Cross Compiler Setup
    • Cross compiling for macOS with CGo
      • To macOS from Linux or Windows
    • Cross compiling for Windows with CGo
      • To Windows from macOS
      • To Windows from Linux
    • Cross compiling for Linux with CGo
      • To Linux from macOS
      • To Linux from Windows
  • Comparison of GUI Toolkits
  • Connecting GoMail to a Real Email Server
    • Download Gmail credentials
    • Creating a server provider
      • Downloading inbox messages
      • Sending messages
      • Listening for new messages
    • Updating an example to use Gmail
  • Other Books You May Enjoy
  • Index

Usage statistics

stat Access count: 0
Last 30 days: 0
Detailed usage statistics