Index
A
- activity notifications
- spinner / Spinner
- status panel / Status panel
- andlabs UI
- background / Background and history
- history / Background and history
- starting with / Getting started with andlabs UI
- prerequisites / Prerequisites
- setup / Setup
- library (workaround), rebuilding / Rebuilding the UI library (workaround)
- code, writing / Code
- building / Build
- command line, executing / Run
- generic API, for multiple platforms / Generic API for multiple platforms
- Apple macOS
- Go, installing / Apple macOS
- Cgo, setting up / Apple macOS
- application
- navigating / Navigating your application
- progressive disclosure / Progressive disclosure, Example 2 – Skyscanner flight search
- menus / Menus and toolbars
- toolbars / Menus and toolbars, Toolbar
- menu / Menu
- multiple windows / Multiple windows
- describing / Describing your app
- application bundle / macOS
- application containerization approach / Containers
- application layout
- planning / Planning application layout
- standard / Standard layouts
- device form factors / Device form factors
- responsive design / Responsive or adaptive design
- adaptive design / Responsive or adaptive design
- custom / Custom layouts
- App Store Connect website
- reference / Uploading
- App Store Optimization (ASO) / Metadata and icons
- app theme
- customizing / Standard look and feel or app theme
- architecture, Shiny
- about / Architecture
- lower layer / Lower layer
- higher layer / Higher layer
- assets
- bundling / Bundling assets
- go-bindata tool / go-bindata
- packr tool / packr
- rsrc / rsrc
- fyne bundle / fyne bundle
- Asynchronous JavaScript and XML (AJAX) / Standard components
- authentication
- about / Authentication – OAuth 2.0
- OAuth 2.0, using / Authentication – OAuth 2.0
- request / First request
- tokens, storing / Storing tokens
B
- background progress / Background progress
- Balsamiq
- reference / Design
- benefits, native graphical applications
- performance / Native performance
- integrated user experience / Integrated user experience
- reliability / Reliability and offline functionality
- offline functionality / Reliability and offline functionality
- maintainability / Maintainability and testing
- testing / Maintainability and testing
- built-in types, widgets
C
- caching / Network resources and caching
- Cascading Style Sheets (CSS) / Visual hierarchy, GTK+ background
- Cgo
- about / Cross-platform for any application
- setting up / Setting up Cgo
- setting up, on Microsoft Windows / Microsoft Windows
- installing, on Apple macOS / Apple macOS
- challenges, cloud integration
- communications / Communications
- data parsing / Data parsing
- standard components / Standard components
- challenges, concurrency
- threads, switching / Switching threads
- complexity, avoiding / Avoiding complexity
- challenges, multiple native GUIs
- about / Challenges with multiple native GUIs
- consistent style / Consistent style
- testing / Testing
- cross-compilation / Cross-compilation
- channels
- about / Concurrency in language design, Channels
- used, for communication / Communicating through channels
- cloud integration / Web services and cloud integration
- cloud services
- connecting to / Connecting to cloud services
- encoding / Encoding
- encoding, in JSON format / JSON
- encoding, in XML format / XML
- data, posting / Posting data
- GUI integration / GUI integration
- color tool
- reference / Themes
- concurrency / Concurrency and multi-threading, Concurrency, threads, and GUI updates
- concurrency, language design
- about / Concurrency in language design
- goroutines / Goroutines
- channels / Channels
- sync package / The sync package
- considerations, for consistent user experience
- responses, caching / Caching responses
- actions, queuing / Queuing actions
- internet connections, dealing with / Starting offline
- consistent style
- about / Consistent style
- brand styles / Brand styles
- user experience / User experience
- continuous integration, for GUIs
- GUI test automation, approaches / Approaches to GUI test automation
- external dependencies, avoiding / Avoiding external dependencies
- control interface
- box / Box
- containers / Containers
- widgets / Widgets
- menu / Menu
- controls / Controls
- cross-compilation
- enabling, for Linux on Windows / Building for Linux on macOS or windows, Windows
- enabling, for Linux on macOS / Building for Linux on macOS or windows, macOS
- enabling, for Windows on Linux / Building for windows on Linux or macOS
- enabling, for Windows on macOS / Building for windows on Linux or macOS
- enabling, for macOS on Linux / Building for macOS on Linux or Windows
- solutions / A better solution
- cross-compiling / Cross-compiling
- cross-platform application
- for application / Cross-platform for any application
- Walk, using / Walk in a cross-platform application
- cross-platform approach
- using, for application / Cross-platform for any application
- about / Cross-platform for any application
- cross-compiling / Cross-compiling
- standard library / Standard library
- cross compilation, for Linux
- CGo, using / Cross compiling for Linux with CGo
- to Linux from macOS / To Linux from macOS
- to Linux from Windows / To Linux from Windows
- cross compilation, for macOS
- CGo, using / Cross compiling for macOS with CGo
- to macOS from Linux or Window / To macOS from Linux or Windows
- cross compilation, for Windows
- CGo, using / Cross compiling for Windows with CGo
- to Windows from macOS / To Windows from macOS
- to Windows, from Linux / To Windows from Linux
- Cygwin
- reference / To Linux from Windows
D
- Debian (.deb)
- about / Debian (.deb)
- packaging / Packaging
- distribution / Distribution
- declarative API
- benefits / Benefits of a declarative API
- comparing, with native API / Compared with the native API
- APIs, using for flexibility / Using both APIs for flexibility
- distribution / Packaging and distribution
- dots per inch (DPI) / Vector graphics
- drawing API, Nuklear
- command queue / Command queue
- draw function / Draw functions
- drivers
E
- ebuilds
- reference / Gentoo Linux
- encoding / Encoding
- Enlightenment Foundation Libraries (EFL)
- reference / Background and vision for Fyne
- event handling / Object model and event handling
- Extensible Markup Language (XML) / Data parsing
F
- Fyne
- background / Background and vision for Fyne
- vision / Background and vision for Fyne
- starting with / Getting started with Fyne
- prerequisites / Prerequisites
- setup / Setup
- example / Example
- Hello World application, writing / Code
- building / Build and run
- application, running / Build and run
- cross-compiling / Cross compiling
- rendering / Rendering and vector graphics
- vector graphics / Rendering and vector graphics, Vector graphics
- drivers / Drivers
- supported platforms / Supported platforms
- widgets / Canvas, widgets, and layouts, Widgets
- layouts / Canvas, widgets, and layouts, Layout
- canvas (drawing) / Canvas (drawing)
- themes / Themes
- user interface, building / Building a user interface
- image viewer, building / Building an image viewer
G
- generic API
- for multiple platforms / Generic API for multiple platforms
- controls / Controls
- area / Area and drawing
- drawing primitives / Area and drawing
- Gmail
- credentials, downloading / Download Gmail credentials
- using, by updating example / Updating an example to use Gmail
- GNU Image Manipulation Program (GIMP) / GTK+ background
- Go
- about / Introduction
- reference / Background and the vision for Shiny
- installing / Installing Go
- installing, on Microsoft Windows / Microsoft Windows
- installing, on Apple macOS / Apple macOS
- installing, on Linux / Linux
- quickstart page, reference / Download Gmail credentials
- Go, installing on Microsoft Windows
- about / Microsoft Windows
- Git, download link / Git
- Go, installation link / Go
- environment / Environment
- go-bindata tool
- reference / go-bindata
- Go-GTK library
- about / Getting started with Go-GTK
- prerequisites / Prerequisites
- installing / Install Go-GTK
- test application, building / Build
- test application, running / Run
- GoMail application
- about / Sample application
- layout / Layout
- compose layout / The compose layout
- signaling / Signalling
- thread handling / Thread handling
- cross compilation / Cross-compilation
- goroutines
- about / Concurrency in language design, Goroutines
- graphical updates / Graphical updates from goroutines
- goversioninfo tool
- reference / Creating metadata files
- graphical application
- history / Return of the graphical application
- personal computers / Personal computers
- desktop, migrating to internet / From desktop to internet
- smart phones / Smart phones, apps, and customer retention
- apps / Smart phones, apps, and customer retention
- customer retention / Smart phones, apps, and customer retention
- Graphical User Interface (GUIs)
- and visual hierarchy / GUIs and visual hierarchy
- multiple documents / Multiple documents
- accessory windows / Accessory windows
- visual hierarchy / Visual hierarchy
- mobile standards / Mobile standards
- continuous integration / Continuous integration for GUIs
- Graphics Device Interface (GDI) / Drivers currently included
- GTK+-based applications
- about / Sample application
- layout / Layout
- compose layout / Compose layout
- signaling / Signaling
- thread, handling / Thread handling
- cross compilation / Cross compilation
- theming / Theming
- GTK+ library
- about / GTK+ background
- installing / Installing GTK+
- installing, on macOS / macOS
- installing, on Windows / Windows
- installing, on Linux / Linux
- signals / Signals and namespaces, Signals
- namespaces / Signals and namespaces, Namespaces
- data, passing / Passing data
- GUI, Walk API
- view model / View model
- detail vie / Detail view
- detail view / Detail view
- list view / List view
- GUI integration
- about / GUI integration
- incoming messages / Incoming messages
- activity notifications / Activity notifications
- GUI updates / Concurrency, threads, and GUI updates
H
- headless mode / Example application test
- Homebrew
- reference / macOS, Compiler installation
- Human Interface Guidelines (HIG)
- reference / Reviewing
I
- icons
- about / Metadata and icons
- application icon / Application icon
- image viewer
- building / Building an image viewer
- layout, creating / Layout
- navigation / Navigation
- file listing / File listing
- layout, completing / Image view
- communicating, with GUI / Communicating with the GUI
- background processing / Background processing
- integrated development environments (IDEs) / Multiple documents
- integrated user experience / Integrated user experience
J
- JavaScript Object Notation (JSON) / Data parsing
L
- layout, andlabs UI
- main email window / Main email window
- email compose dialog / Email compose dialog
- layout, Fyne
- main email window / Main email window
- compose dialog / Compose dialog
- layout, Nuklear
- about / Layout
- NkLayoutRow / NkLayoutRow
- NkLayoutRowTemplate / NkLayoutRowTemplate
- NkLayoutSpace / NkLayoutSpace
- main email window / Main email window
- email compose dialog / Email compose dialog
- Linux
- Linux package manager
- about / Linux package manager
- Debian (.deb), reference / Debian (.deb)
- Red Hat (.rpm) / Red Hat (.rpm)
- Tarball (.tar.gz) / Tarball (.tar.gz)
- containers / Containers
- long-running processes
- managing / Managing long-running processes
- shutdown, signaling / Signaling shutdown
- completion, checking / Checking completion
- lower layer, Shiny
- buffer / Lower layer
- texture / Lower layer
- Windows / Lower layer
M
- Mac App Store
- about / Mac App Store
- packaging / Packaging
- uploading / Uploading
- reviewing / Reviewing
- macOS
- GTK+ library, installing / macOS
- recipe/qt, installing / macOS
- cross compiling, with CGo / Cross compiling for macOS with CGo
- maintainability / Maintainability and testing
- metadata / Metadata and icons
- Microsoft Store
- reference / Microsoft Store
- packaging / Packaging
- uploading / Uploading
- reviewing / Reviewing
- Microsoft Windows
- Go, installing / Microsoft Windows
- Cgo, setting up / Microsoft Windows
- mingw / Microsoft Windows
- minor alerts / Minor alerts
- msys2 installer
- reference / Microsoft Windows
- Multi Document Interface (MDI) / Background and aims
- multiple native GUIs
- challenges / Challenges with multiple native GUIs
- multiple platforms development
- about / Developing for multiple platforms
- cross-platform APIs / Cross-platform APIs
- design / Icons and design
- icons / Icons and design
- testing / Testing
- multiple windows
- managing / Window types and keeping things clean
- multithreading / Concurrency and multi-threading
N
- native API
- comparing, with declarative API / Compared with the native API
- Native Development Kit (NDK ) / Android
- native performance / Native performance
- notifications / Notifications and task status
- Nuklear
- background / Background and design of Nuklear
- design / Background and design of Nuklear
- reference / Background and design of Nuklear
- rendering / Rendering and platform support
- platform support / Rendering and platform support
- rendering modules / Rendering modules
- supported platforms / Supported platforms
- starting with / Getting started with nk
- prerequisites / Prerequisites
- setup / Setup
- example / Example
- application, creating / Code
- hello.go, running / Build and run
- hello.go, building / Build and run
- cross-compiling / Cross-compiling
- layout / Widgets, layout, and skinning, Layout
- skinning / Widgets, layout, and skinning, Skinning
- widgets / Widgets, layout, and skinning, Widgets
- drawing API / Drawing
- user interface, building / Building a user interface
O
- offline functionality / Reliability and offline functionality
- operating system
- customizing / Choosing your look and feel
P
- package, preparing for cross-platform packaging tools
- about / Cross-platform packaging tools
- fyne package / fyne package
- package, preparing for Linux
- about / Linux
- metadata files, creating / Create metadata files
- packaging release / Packaging release
- package, preparing for macOS
- metadata files, creating / Creating metadata files
- packaging release / Packaging release
- package, preparing for Windows
- about / Windows
- metadata files, creating / Creating metadata files
- packaging release / Packaging release
- package structure
- reference / Suggested application structure
- packaging / Packaging and distribution
- packr tool
- reference / packr
- Palo Alto Research Center (Xerox PARC) / Return of the graphical application
- personal computer (PC) / Personal computers
- PKGBUILD file
- reference / Arch Linux
- platform-specific considerations
- about / Platform-specific considerations
- window grouping / Window grouping
- application instances / Application instances
- features / Extra features
- platform marketplaces
- distributing / Distributing to platform marketplaces
- Mac App Store / Mac App Store
- Microsoft Store / Microsoft Store
- Linux package manager / Linux package manager
- platform specifics
- managing / Managing platform specifics
- prerequisites, andlabs UI
- about / Prerequisites
- macOS / macOS
- Linux / Linux
- prerequisites, Fyne
- about / Prerequisites
- Linux / Linux
- macOS / macOS
- prerequisites, Nuklear
- about / Prerequisites
- Linux / Linux
- macOS / macOS and Windows
- Windows / macOS and Windows
- Android / Android
- prerequisites, therecipe/qt
- about / Prerequisites
- CGo, preparing / Preparing CGo
- Qt, installing / Installing Qt
- qt (the bindings), installing / Installing qt (the bindings)
- progressive disclosure
- about / Progressive disclosure
- Microsoft Edge example / Example 1 – Microsoft Edge
- skyscanner flight search example / Example 2 – Skyscanner flight search
Q
- Qt
- background / Qt background
- reference / Installing Qt
- installing, on macOS / macOS
- installing, on Windows / Windows
- installing, on Linux / Linux
- License / Qt account / License / Qt account
- Qt applications
- theming capabilities / Theming
- qt apps
- reference / Cross-compilation
- Qt design
- reference / Signals and slots
- Qt object model
- about / Object model and event handling
- inheritance / Inheritance
- memory management / Memory management
- signals / Signals and slots
- slots / Signals and slots
- Qt theme / Theming
- Qt Windows Extras
- reference / Extra features
R
- Red Hat (.rpm)
- packaging / Packaging
- distribution / Distribution
- release
- building / Building a release, Building
- preparing / Preparing
- compiler installation / Compiler installation
- packaging / Packaging
- reliability / Reliability and offline functionality
- remote resources
- accessing, on local network / Network resources and caching
- loading / Loading remote resources
- images / Images
- JSON / JSON
- resource data
- caching / Caching resource data
- RPC (remote procedure call) / Application instances
S
- Scalable Vector Graphics / Vector graphics
- Search Engine Optimization (SEO) / Metadata and icons
- separation of concerns
- about / Separation of concerns
- application structure / Suggested application structure
- server provider
- creating / Creating a server provider
- inbox messages, downloading / Downloading inbox messages
- messages, sending / Sending messages
- new message, listening / Listening for new messages
- SHared Memory (SHM) / Drivers currently included
- Shiny
- background / Background and the vision for Shiny
- vision / Background and the vision for Shiny
- design / Design and supported platforms, Design
- supported platforms / Design and supported platforms, Supported platforms
- architecture / Architecture
- included drivers / Drivers currently included
- about / Getting started with Shiny, Getting started continued
- setup / Setup
- example / Example
- cross-compiling / Cross-compiling
- cross-compiling, for macOS / Cross-compiling for macOS
- widgets / Widgets and material design, Widgets
- material design / Widgets and material design
- icons / Icons
- themes / Themes
- hello world window, writing / Code
- code, supporting / Supporting code
- building / Build and Run
- hello.go file, running / Build and Run
- user interface, building / Building a user interface
- skinning / Skinning
- Software Development Kit (SDK)
- about / Cross-compilation
- reference / Android
- standard dialogs
- toolkits / Standard dialogs
- standard library / Standard library
- stretchy parameter / Box
- sync package
- about / The sync package
- reference / The sync package
T
- Tarball (.tar.gz)
- about / Tarball (.tar.gz)
- Gentoo Linux / Gentoo Linux
- task status / Notifications and task status
- test-driving UI development
- about / Test-driving UI development
- designed to be testable scenario / Designed to be testable
- example application test / Example application test
- testing
- about / Maintainability and testing
- reference / Suggested application structure
- themes, Fyne
- about / Themes
- packaged themes / Packaged themes
- theming capabilities
- of Qt applications / Theming
- therecipe/qt
- starting with / Getting started with therecipe/qt
- prerequisites / Prerequisites
- building / Build
- executing / Run
- threads / Concurrency, threads, and GUI updates
- two dimensional (2D) / Drawing
U
- user experience
- consistency, maintaining / Consistent user experience when offline
- user interface
- user interface, andlabs UI
- building / Building a user interface
- styling / Style
- toolbar / Toolbar and menu
- menu / Toolbar and menu
- GUI, communicating with / Communicating with the GUI
- communicating with / Communicating with the GUI
- background processing / Background processing
- background threads example / Example
- user interface, building
- about / Building a user interface
- toolbar / Toolbar and menu
- user interface, designing
- reference / Building a user interface
- user interface, Fyne
- layout, creating / Layout
- menu / Toolbar and menu
- communicating, with GUI / Communicating with the GUI
- emails, loading / Loading emails
- email, sending / Sending email
- background processing / Background processing
- user interface, Nuklear
- building / Building a user interface
- layout / Layout
- toolbar / Toolbar and menu
- menu / Toolbar and menu
- communicating, with GUI / Communicating with the GUI
- background processing / Background processing
- user interface, Shiny
- about / Building a user interface
- design / Design
- layout / Layout
- navigation / Navigation
- file list / File list
- Image view / Image view
- communicating, with GUI / Communicating with the GUI
- background processing / Background processing
- user interface, Walk API
- building / Building a user interface
- style / Style
- layouts / Layout
- toolbar, adding with declarative API / Toolbar and menu
- menu, adding with declarative API / Toolbar and menu
- communicating, with GUI / Communicating with the GUI
- background processing / Background processing
W
- Walk project
- background / Background and aims
- aims / Background and aims
- starting with / Get started with walk
- setup / Setup
- code / Code
- building / Build
- running / Run
- used, in cross-platform application / Walk in a cross-platform application
- web services
- and cloud integration / Web services and cloud integration
- included, as standard / Web services included as standard
- about / Web services included as standard
- Window hints
- about / Window hints, Other hints
- sizes / Sizes
- Windows
- GTK+ library, installing / Windows
- recipe/qt, installing / Windows
- types / Window types and keeping things clean
- Windows Application Library Kit / Background and aims
- Window types
- standard dialogs / Standard dialogs
- modal window / Modal windows