A lightweight desktop Kafka client for browsing topics, streaming messages, and managing consumer groups without Docker or a JVM.
wailsapp/wails
A Go framework for building cross-platform desktop apps with a web frontend (React, Vue, Svelte, etc.) using native rendering engines.
Open-source alternative to:Electron
- Stars
- 36,622
- Forks
- 1,893
- Open issues
- 332
- Last commit
- 10 hours ago
What is it?
Wails lets Go programmers build desktop applications by combining Go code with an HTML, JavaScript and CSS frontend. Instead of running a local web server and opening a browser, the Go backend and the web UI are bundled into a single binary that runs as a native window.
Go methods can be called directly from JavaScript, and TypeScript definitions for Go structs and methods are generated automatically. The project also provides native dialogs and menus, dark and light mode support, window translucency effects, and a unified event system between Go and JavaScript. A CLI handles project scaffolding, building and bundling, with templates for popular frontend frameworks.
The framework targets Windows, macOS and Linux and uses each operating system's native web rendering engine rather than embedding a browser. Two versions are active: v2 is stable, while v3 is in beta.
Key features
- 01Call Go methods directly from JavaScript with auto-generated TypeScript definitions
- 02Native dialogs, menus, and dark/light mode support
- 03Unified event system between Go and JavaScript
- 04CLI for project scaffolding, building, and bundling with frontend templates
- 05Runs on Windows, macOS, and Linux using native rendering engines without an embedded browser
Use cases
- Building lightweight desktop tools in Go with a modern web-based UI
- Adding a graphical frontend to an existing Go program without running a local web server
- Creating cross-platform desktop applications using React, Vue, or Svelte
Quick start
- 1
Install the Wails v2 CLI with Go
go install github.com/wailsapp/wails/v2/cmd/wails@latest - 2
Install the Wails v3 CLI (beta) with Go
go install github.com/wailsapp/wails/v3/cmd/wails3@latest - 3
Follow the full installation instructions on the Wails docs site
Things to know
- V3 is still in beta, while v2 is the stable release.
- Desktop apps need platform-specific native dependencies beyond the Go toolchain.
Topics
FAQ
- What is wails?
- A Go framework for building cross-platform desktop apps with a web frontend (React, Vue, Svelte, etc.) using native rendering engines. Wails lets Go programmers build desktop applications by combining Go code with an HTML, JavaScript and CSS frontend. Instead of running a local web server and opening a browser, the Go backend and the web UI are bundled into a single binary that runs as a native window.
- Is wails free to use? What license does it have?
- wails is open source under the MIT license. Check the license terms before using it in commercial products.
- Is wails still maintained?
- Actively maintained. The last commit to wails was on Oct 21, 2026.
- What can I use wails for?
- Building lightweight desktop tools in Go with a modern web-based UI Adding a graphical frontend to an existing Go program without running a local web server Creating cross-platform desktop applications using React, Vue, or Svelte
- How do I install wails?
- Install the Wails v2 CLI with Go: go install github.com/wailsapp/wails/v2/cmd/wails@latest Install the Wails v3 CLI (beta) with Go: go install github.com/wailsapp/wails/v3/cmd/wails3@latest Follow the full installation instructions on the Wails docs site
- Where can I get wails?
- The source code and installation instructions are on GitHub: https://github.com/wailsapp/wails
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A starter template for building cross-platform desktop apps with Electron, React, TypeScript, and Vite.
Python library that wraps the native web view to show HTML, CSS and JavaScript in a desktop GUI window on Windows, macOS, Linux and Android.
A framework for building native iOS, Android and visionOS apps with JavaScript or TypeScript, using native UI and APIs directly.
A Rust framework for building small, fast desktop and mobile apps with any web frontend, rendered in the system webview.
Angular is a TypeScript-based platform for building web applications, with a CLI, routing, forms, SSR and Material components.