Building GUI Applications with Fyne and Go (Golang)
- Descrição
- Currículo
- FAQ
- Revisões
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
-
12What we'll cover in this sectionVídeo Aula
-
13Getting started with the MarkDown editorVídeo Aula
-
14Adding a Main Menu to our ApplicationVídeo Aula
-
15Making Menu Items Functional: Saving filesVídeo Aula
-
16Opening filesVídeo Aula
-
17Adding a filter to the open file commandVídeo Aula
-
18Making the Save menu item functionalVídeo Aula
-
19Packaging our applicationVídeo Aula
-
20Writing a simple test for our applicationVídeo Aula
-
21Defining a custom themeVídeo Aula
-
22What we'll cover in this sectionVídeo Aula
-
23Setting up a simple applicationVídeo Aula
-
24Getting started on the user interfaceVídeo Aula
-
25Getting the current price of gold from an external siteVídeo Aula
-
26Writing tests for our gold prices logicVídeo Aula
-
27Creating and returning the prices containerVídeo Aula
-
28Displaying prices in our application windowVídeo Aula
-
29Writing a test for the getPriceText functionVídeo Aula
-
30Creating a toolbarVídeo Aula
-
31Writing a test for the toolbarVídeo Aula
-
32Adding application tabsVídeo Aula
-
33Getting the Gold Price ChartVídeo Aula
-
34Creating and returning the priceChart containerVídeo Aula
-
35Handling the situation when no network is availableVídeo Aula
-
36Displaying the chart in our application windowVídeo Aula
-
37Writing a function that will refresh all Gold price informationVídeo Aula
-
38Enabling the refresh icon in the toolbarVídeo Aula
-
39Updating gold prices in the backgroundVídeo Aula
-
40What we'll cover in this sectionVídeo Aula
-
41Setting up a database repositoryVídeo Aula
-
42Implementing a sqlite RepositoryVídeo Aula
-
43Implementing a sqlite repository, continuedVídeo Aula
-
44Setting up our testing environment for db-sqlite.goVídeo Aula
-
45Testing our sqlite database repositoryVídeo Aula
-
46Connecting our application to sqliteVídeo Aula
-
47Setting up a test repositoryVídeo Aula
-
48What we'll cover in this sectionVídeo Aula
-
49Getting started with the holdings tabVídeo Aula
-
50Getting the slice of holdings and testing our currentHoldings function andVídeo Aula
-
51Testing our getHoldingSlice functionVídeo Aula
-
52Building the table widgetVídeo Aula
-
53Getting the information we need in order to refresh the holdings tableVídeo Aula
-
54Creating the refreshHoldingsTable functionVídeo Aula
-
55Displaying the holdings table in our application (finally!)Vídeo Aula
-
56Manually entering some data into sqliteVídeo Aula
-
57Changing the container type for our holdings tableVídeo Aula
-
58Fixing a problem with the delete buttonVídeo Aula
-
59Enabling the add holdings button in the toolbarVídeo Aula
-
60Adding validation to our add holdings dialogVídeo Aula
-
61Fixing a problem with the way prices display, and writing a simple testVídeo Aula
-
62Installing a MakefileTexto
-
63Adding an icon, and building an executableVídeo Aula
-
64Setting up preferences for our applicationVídeo Aula
-
65Enabling the preferences icon in the toolbarVídeo Aula
