Card | Table | RUSMARC | |
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 | |||||
Internet | Readers | |||||
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
- Return of the graphical application
- 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
- Prerequisites
- Generic API for multiple platforms
- Controls
- Box
- Containers
- Widgets
- Menu
- Area and drawing
- Controls
- 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
- Building for Linux on macOS or windows
- Consistent style
- 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
- Installing GTK+
- Build
- Run
- Prerequisites
- 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
- Prerequisites
- 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
- Architecture
- 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
- Prerequisites
- 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
- Prerequisites
- 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
- Layout
- 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
- Progressive disclosure
- 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
- Planning application layout
- 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
- Managing long-running processes
- Network resources and caching
- Loading remote resources
- Images
- JSON
- Caching resource data
- Loading remote resources
- 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
- Encoding
- Consistent user experience when offline
- Caching responses
- Queuing actions
- Starting offline
- Summary
- Concurrency, threads, and GUI updates
- 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
- Separation of concerns
- 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
- Linux
- Preparing
- 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
- Debian (.deb)
- Mac App Store
- Summary
- Metadata and icons
- Installation Details
- Installing Go
- Microsoft Windows
- Git
- Go
- Environment
- Apple macOS
- Linux
- Microsoft Windows
- Setting up Cgo
- Microsoft Windows
- Apple macOS
- Linux
- Installing Go
- 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
- Cross compiling for macOS with CGo
- 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
Access count: 0
Last 30 days: 0 Detailed usage statistics |