Building GUI Applications with Fyne and Go Golang
What you’ll learn
Learn how to build GUI applications using Go and Fyne
Learn how to have your application display common widgets
Learn how to save your application state with an embedded database
Learn how to have your application call resources on the internet
Requirements
Familiarity with the Go programming language
Mac or Windows computer and an Internet connection
Description
Many developers are intimidated by the idea of writing a desktop application, and this is probably because of the rise of web based applications. In fact, some university computer science programs do not even devote an entire course to developing GUI applications, and that’s unfortunate.Go, sometimes referred as Golang, has quickly risen in popularity over the past decade, and has become extremely popular for building REST APIs, back end applications, and network software. One question that comes up a great deal online, though, is how one might go about building a desktop application using Go. For quite some time, the default answer was use Qt and CGO bindings, but several years ago a new project emerged — one that makes it relatively easy to build GUI applications in pure Go: the Fyne project. Fyne is a project is based around the premise that it should be free and simple to develop an application that can run on all platforms without modification or adaptation. Fyne apps are installed like regular applications on all platforms and deliver great performance and solid user experience. With Fyne, you can write your code once, in pure Go, and deliver applications that run on Mac OSX, Windows, Linux, Android devices, iOS devices, and as WebAssembly in the browser.This course is intended to cover the basics of building a GUI application in pure Go. We will cover:Building Desktop applications: we’ll build two: a MarkDown editor and an application that allows users to track (fictional) Gold investments and get real-time information on Gold prices.We will cover:How to work with the Fyne CanvasHow to work with Fyne WindowsHow to use (and customize) Widgets, including dialogs, text, labels, input fields, forms, and tablesHow to validate user inputHow to fetch external resources from remote servers and use them in our applicationHow to use containers to arrange things in a windowHow to embed a sqlite database into a desktop applicationHow to build custom menu items and link them to actionsHow to read and write files from your applicationHow to read and write preferencesHow to bundle assets (e.g. images) into a Fyne applicationHow to build a single binary with a custom iconHow to sign a Mac OS X application for distribution
Overview
Section 1: Introduction
Lecture 1 Introduction
Lecture 2 About me
Lecture 3 Installing Go
Lecture 4 Installing Visual Studio Code
Lecture 5 Installing Make
Lecture 6 Asking for help
Lecture 7 Mistakes. We all make them.
Section 2: Getting Started with Fyne
Lecture 8 Installing the necessary tools
Lecture 9 The obligatory “Hello, world!” application
Lecture 10 The structure of a Fyne application
Lecture 11 Adding a simple container, an entry, and button
Section 3: First Project: Building a Markdown Editor
Lecture 12 What we’ll cover in this section
Lecture 13 Getting started with the MarkDown editor
Lecture 14 Adding a Main Menu to our Application
Lecture 15 Making Menu Items Functional: Saving files
Lecture 16 Opening files
Lecture 17 Adding a filter to the open file command
Lecture 18 Making the Save menu item functional
Lecture 19 Packaging our application
Lecture 20 Writing a simple test for our application
Lecture 21 Defining a custom theme
Section 4: Second Project: GoldWatcher
Lecture 22 What we’ll cover in this section
Lecture 23 Setting up a simple application
Lecture 24 Getting started on the user interface
Lecture 25 Getting the current price of gold from an external site
Lecture 26 Writing tests for our gold prices logic
Lecture 27 Creating and returning the prices container
Lecture 28 Displaying prices in our application window
Lecture 29 Writing a test for the getPriceText function
Lecture 30 Creating a toolbar
Lecture 31 Writing a test for the toolbar
Lecture 32 Adding application tabs
Lecture 33 Getting the Gold Price Chart
Lecture 34 Creating and returning the priceChart container
Lecture 35 Handling the situation when no network is available
Lecture 36 Displaying the chart in our application window
Lecture 37 Writing a function that will refresh all Gold price information
Lecture 38 Enabling the refresh icon in the toolbar
Lecture 39 Updating gold prices in the background
Section 5: Second Project: Part II, Connecting to a database
Lecture 40 What we’ll cover in this section
Lecture 41 Setting up a database repository
Lecture 42 Implementing a sqlite Repository
Lecture 43 Implementing a sqlite repository, continued
Lecture 44 Setting up our testing environment for db-sqlite.go
Lecture 45 Testing our sqlite database repository
Lecture 46 Connecting our application to sqlite
Lecture 47 Setting up a test repository
Section 6: Second Project: Part III, populating the holdings tab
Lecture 48 What we’ll cover in this section
Lecture 49 Getting started with the holdings tab
Lecture 50 Getting the slice of holdings and testing our currentHoldings function and
Lecture 51 Testing our getHoldingSlice function
Lecture 52 Building the table widget
Lecture 53 Getting the information we need in order to refresh the holdings table
Lecture 54 Creating the refreshHoldingsTable function
Lecture 55 Displaying the holdings table in our application (finally!)
Lecture 56 Manually entering some data into sqlite
Lecture 57 Changing the container type for our holdings table
Lecture 58 Fixing a problem with the delete button
Lecture 59 Enabling the add holdings button in the toolbar
Lecture 60 Adding validation to our add holdings dialog
Lecture 61 Fixing a problem with the way prices display, and writing a simple test
Lecture 62 Installing a Makefile
Lecture 63 Adding an icon, and building an executable
Lecture 64 Setting up preferences for our application
Lecture 65 Enabling the preferences icon in the toolbar
Section 7: For Mac users: Signing our Application through Apple
Lecture 66 What we’ll cover in this section
Lecture 67 Installing Xcode, and getting a developer account
Lecture 68 Signing our application
Developers who know Go, and want to learn how to build a GUI application
Course Information:
Udemy | English | 6h 1m | 1.70 GB
Created by: Trevor Sawler
You Can See More Courses in the Developer >> Greetings from CourseDown.com