Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Building GUI Applications with Fyne and Go (Golang)
Rating: 4.7 out of 5(345 ratings)
3,006 students

Building GUI Applications with Fyne and Go (Golang)

Learn how to build fast, efficient desktop applications for Mac, Windows and Linux using Go and Fyne.
Created byTrevor Sawler
Last updated 5/2026
English
English [Auto],

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

Course content

7 sections70 lectures6h 6m total length
  • Introduction6:19

    Learn to build cross-platform GUI desktop apps in Go with Fyne, delivering small, dependency-light binaries for Mac, Windows, and Linux, via projects like a markdown editor and a gold watcher.

  • About me1:01

    Meet an instructor with 25 years in the software industry as an independent contractor and decades of university teaching, holding a PhD in English literature, computer science, and education.

  • Installing Go1:31

    Install Go by visiting go.dev, choosing the correct download for your operating system, and following the installation instructions. Verify the setup by running go version to confirm the installed version.

  • Installing Visual Studio Code3:14

    Install Visual Studio Code as a cross-platform Go IDE, then add the official Go extension and Go template syntax for easier coding and template work.

  • Installing Make1:27

    Install make, a versatile build tool, to use with the course's make scripts. On Mac, use Homebrew and brew install make; on Windows, use Chocolatey with choko install make.

  • Asking for help1:14

    Search online first when you need help, as others may have faced similar issues. Download the lecture code to compare, then share enough code or a git link.

  • Mistakes. We all make them.1:06

    Observe how mistakes propel software development by watching the instructor make and fix errors in real time in this intermediate Go and Fyne GUI course.

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 Canvas

  • How to work with Fyne Windows

  • How to use (and customize) Widgets, including dialogs, text, labels, input fields, forms, and tables

  • How to validate user input

  • How to fetch external resources from remote servers and use them in our application

  • How to use containers to arrange things in a window

  • How to embed a sqlite database into a desktop application

  • How to build custom menu items and link them to actions

  • How to read and write files from your application

  • How to read and write preferences

  • How to bundle assets (e.g. images) into a Fyne application

  • How to build a single binary with a custom icon

  • How to sign a Mac OS X application for distribution


Who this course is for:

  • Developers who know Go, and want to learn how to build a GUI application