Building GUI Applications with Fyne and Go (Golang) (Udemy.com)
Learn how to build fast, efficient desktop applications for Mac, Windows and Linux using Go and Fyne.
Created by: Trevor Sawler
Last updated May 2026
What you will 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
Quality Score
No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.
Overall Score : 94 / 100
Course 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
Instructor Details
- 4.7 Rating
347 Reviews
Trevor Sawler
I have twenty years of experience in professional software development, and twenty years of experience as a University professor.
As an entrepreneur, I have worked with a broad range of clients, including Thomson Nelson, Hewlett Packard, the Royal Bank of Canada, Keybank, Sprint, and many, many others. I also have extensive management and project management experience. I have led teams of fifty developers and artists on multi-million dollar projects, and much smaller teams on much smaller projects.
As a professor, I have taught in a wide variety of course areas, including Computer Science, English, Irish, and American literature, and a number of "crossover" courses that bridge the liberal arts and technological fields.
I have won regional, national, and international awards for my work in the IT field, and have also won awards for my teaching and research as a University professor.
More courses by Trevor Sawler
Building Modern Web Applications with Go (Golang) (2022)
4.6 (5,848 Reviews)
Provider: Udemy
Time: 29.6h
$84.99
Working with Microservices in Go (Golang) (2024)
4.6 (3,186 Reviews)
Provider: Udemy
Time: 11.6h
$89.99
Working with Concurrency in Go (Golang) (2024)
4.7 (1,862 Reviews)
Provider: Udemy
Time: 9.7h
$79.99
Building Web Applications with Go - Intermediate Level (2025)
4.8 (597 Reviews)
Provider: Udemy
Time: 18.7h
$84.99
More Software Development courses
Build Web Apps with Nuxt.js 3: Master TypeScript & API [New] (2026)
4.9 (635 Reviews)
Provider: Udemy
Time: 6.7h
$19.99
70+ JavaScript Challenges: Data Structures & Algorithms (2023)
4.8 (748 Reviews)
Provider: Udemy
Time: 12.5h
$19.99
AI Agents Crash Course: Build with Python & OpenAI (2025)
4.8 (652 Reviews)
Provider: Udemy
Time: 3.4h
$19.99
Elasticsearch 9 & Spring Boot: Search Engine Masterclass (2026)
4.8 (225 Reviews)
Provider: Udemy
Time: 14.3h
$19.99
Introduction to AI and Machine Learning with Go (Golang) (2025)
4.8 (133 Reviews)
Provider: Udemy
Time: 36.2h
$19.99
Reviews
By Brett Roscoe on 7/4/2026
There are not many Fyne courses on Udemy, so I think I can confidently say that (right now, at least) this one is the best. In this course you build a markdown editor and a gold price watching app, and along the way you get to see how to structure a Fyne app, how to use different layouts, how to create forms, update the UI, style the app, etc. At the end there is even a section about signing mac apps. I've enjoyed working through this course and learning about what is possible with Fyne.
By Jordi Morell on 12/13/2024
It is a very good course and the instructor explains everything very clearly. I was unaware of Fyne and its possibilities, but after the course, it made me see that Go is a very good programming language and quite complete, although there are things to improve compared to other more veteran languages. I would have liked to expand a bit more on each component and how to use it with simple examples so that I could apply and understand each one better, but with what is learned in the course, you already have a foundation to start. Thank you very much, Trevor, for the course.
By Dave Taylor on 10/10/2023
Great course on using Fyne to build GUI apps in Go from Trevor. His wit and wisdom is second to none! :) The course itself is very well written and structured and lectures are nicely sized so even if you only have 20 minutes to spare you can make some progress. Definitely would recommend this course to anyone who is interested in trying to make GUI applications in Go and thinks that Fyne might be an answer for them.
By Patrice Monassier on 7/27/2023
Le "cours" qui est plus un tutoriel avancé semble, sur le papier, très intéressant mais le code est très mal écrit, les explications sont parfois (rarement) sommaires mais la documentation de Fyne peut être d'un secours utile. Le projet est vraiment intéressant car on aborde des choses très diverses (e.g. le pattern repository) et on va au fond des choses (notamment la partie tableau qui est la plus complexe). Reste que le codage est une catastrophe (mal structuré, parfois digne d'un débutant) mais cela ne doit pas rebuter. Ce "cours" est à conseiller uniquement à toute personne voulant vraiment apprendre Fyne, ayant les bases en Go (pointeurs, goroutine, slices, ...) et ayant une connaissance de base de la bibliothèque standard (strconv, time, sql, ...). De même connaître le SQL est nécessaire (ici nous utiliserons SQLite et son driver n'utilise pas CGo : très bon point). Il est important de noter que ce tutoriel/cours concerne la V2 de Fyne et peut utiliser des éléments de la bibliothèque standard dépréciés (qui seront facilement interchangeables grâce à l'excellente documentation de la bibliothèque Go) ! À bon entendeur...
By Markus Fritz on 4/29/2023
Really good practical training to learn on how to leverage the Fyne GUI Framework! I was watching many videos on YT but nothing explains that much details I require to create a useful application. Especially the Table one was confusing me the most but after the training I know understand much better :-) I must state, you might want to have already knowledge in go but since gaoling provides many free training material this should not be a challenge at all.
By Lucas Arruda on 9/27/2022
I'm Brazilian DevSecOps/Plataform Engineer, so for me not many English teacher its easy to understand and for leaning this is crucial... as always Trevor Sawler is amazing teacher, his English and didactic is amazing, I begin learning go with his courses , after few lessons I was able to rewrite my hobbies project from python monolith to golang micro-service, today I'm more productive with go and actually understand what I'm doing on a deeper level. Thank you for showing me the language that I choose to be my main programing language.
By Jake Lowen on 8/1/2022
Brisk pace, but thorough. Gives me confidence to attempt my own application builds. Overall excellent course. My only request is a bit of supplemental content about the steps necessary for bundling for other OS outside of the platform used to develop the app. I would love to see another course on the specifics for native mobile app builds.
By Teemu Palokangas on 7/11/2022
Course delivers what it promises by walking the student through two projects. The first project is a simple introduction to Fyne. The latter project introduces some real-world relevant things such as working with a database using a repository pattern, doing validation, signing the application, using a Makefile to aid in development, testing and building. The second application can be used as an example when building your own applications. It does not cover all Fyne features but I feel it covers quite enough and a good balance of features to get you started and get a feel of how Fyne works. The only thing I miss is an occasional "why", or a pointer to what is being done on a more abstract level. Now the focus is more on walking through the projects instead of explaining why, or possible alternative approaches that would be good for understanding. The selected approach works though, and the student can go on and find more information by searching but I personally would have profited from occasional breaks from the walkthrough.
By Cedric Bail on 7/4/2022
This was a very well constructed, progressive and logic course to learn how to write an application using Go, Fyne and SQLite. It also give a very good idea of how the process of developing an application would flow including writing tests and debugging issues. I will definitively recommend it to anyone who want to learn about this topics.
By Vijesh on 6/28/2022
The course was very well structured. Very easy to understand. The flow of teaching was very good not very fast or not very slow. Also When I feel lazy I will download the code that provided along with the clip and give the command go mod tidy. The code at every clip is very handy for lazy typers like me. The course will be very enjoyable if you know the basics of golang. Thanks prof Trevor for providing with a wonderful course. Also I have a request. give us a course with tech stacks like (tailwind) or (material ui)+latest react+gin course.







![Build Web Apps with Nuxt.js 3: Master TypeScript & API [New]](/programming/software-development/images/6457785_5adc_4.jpg?v=1789443959)




