#Desktop
20 posts
Building Desktop Apps with Wails #7 Adding a Frontend Framework — Svelte, Vue, React
Swap the vanilla front half from the main series for a framework, for a real app whose state grows. Covers what it means that Wails is frontend-agnostic, starting Svelte/Vue/React with wails init templates, that the generated bindings are the same regardless of framework, and connecting binding results to framework state.
Wails in Practice #1 Designing a Real Project — What to Build and How to Split It
The first post of the Wails practice series. Going beyond the in-memory to-do app of the intro, we design a local notes app worth shipping: deciding what to build, drawing the boundary that splits the Go backend into a service layer, choosing a frontend state approach, and mapping the final form we complete across six posts.
Build a Desktop App with Wails #6: Build and Distribution — Packaging per Platform
Build a single binary with wails build and package it as a Windows installer, a macOS app bundle, and a Linux binary. The final part of the series, covering the cross-compilation constraint, GitHub Actions matrix builds, and the outlook for v3.
Build a Desktop App with Wails #5: Real-World Features — Persisting Settings and Error Handling
Persist the todo data as JSON under os.UserConfigDir and wire it into the startup and shutdown hooks. We also cover the flow where a Go error becomes a frontend notification, file logging, and why external API calls belong on the Go side.
Build a Desktop App with Wails #4: System Integration — Dialogs, Menus, and Window Control
Native file dialogs, application menus with shortcuts, window control, and the clipboard — integrating with the OS through the Wails runtime API. This is where a web frontend starts to feel like a desktop app.
Build a Desktop App with Wails #3: Connecting Go and the Frontend — Method Bindings and Events
Pinning down the binding rules in a table, building a todo-list backend in Go, and wiring it to a React frontend. Covers auto-generated TypeScript models for structs and the event system that pushes data from Go to the UI.
Build a Desktop App with Wails #2: Project Structure and the Dev Loop — wails dev and Bindings
Walking through what each of main.go, app.go, frontend, and wails.json does in a project created by wails init. Covers the hot-reload dev loop and how the auto-generated binding code flows.
Build a Desktop App with Wails #1: What Wails Is — Lightweight Desktop Apps in Go
Getting started with Wails, the framework for building desktop apps with Go and a web frontend. From how it differs from Electron and Tauri, through installation and the wails doctor check, to running your first app.