For a framework for building cross-platform desktop apps, the first results are wailsapp/wails (Wails is the exact cross-platform framework that combines a Go backend with a web frontend HTML/CSS/JS, providing automatic two-way binding, native API access, and a single binary — it matches all the features this search is looking for), zserge/lorca (Lorca is a Go framework that renders a web browser as the application window, providing a communication bridge for Go‑JS binding and cross‑platform packaging—exactly the kind of tool you’re looking for, though it may not include a built‑in hot‑reload feature) and asticode/go-astilectron (go-astilectron is a cross-platform framework that combines a Go backend with an Electron HTML/CSS/JS frontend, providing IPC, native desktop APIs, and two-way Go-JS binding—exactly the kind of Go+web desktop app toolkit you're looking for). jart/cosmopolitan and lencx/chatgpt round out the shortlist. Compare the match explanations and check the project documentation against your requirements.
We curate open-source GitHub repositories matching “build cross-platform desktop apps with Go and web tech like Wails”. Results are ranked by relevance to your query — pick filters below to narrow, or refine with AI.
Wails is a cross-platform framework for building native desktop applications by combining a Go backend with web-based frontend technologies. It enables developers to create lightweight software by utilizing the host operating system's native web rendering engine, eliminating the need to bundle heavy browser dependencies. The framework distinguishes itself through a robust communication layer that bridges the backend and frontend. It automatically generates type-safe JavaScript bindings and proxies from Go code, allowing for seamless, asynchronous method invocation and data serialization acros
Wails is the exact cross-platform framework that combines a Go backend with a web frontend (HTML/CSS/JS), providing automatic two-way binding, native API access, and a single binary — it matches all the features this search is looking for.
Lorca is a framework for building cross-platform desktop applications using Go for the backend logic and HTML5 for the user interface. It functions as a wrapper that renders a web browser as the application window while executing core logic in a native process. The project provides a communication bridge that binds native Go functions to the browser environment and allows the backend to execute JavaScript directly within the browser window. It includes capabilities for packaging binaries with custom icons and branding for multiple operating systems. The framework covers window management, su
Lorca is a Go framework that renders a web browser as the application window, providing a communication bridge for Go‑JS binding and cross‑platform packaging—exactly the kind of tool you’re looking for, though it may not include a built‑in hot‑reload feature.
go-astilectron is a cross-platform GUI framework and binding that enables the creation of desktop software by combining a compiled Go backend with an Electron frontend. It functions as an inter-process communication bridge, utilizing an asynchronous messaging system to exchange JSON events and synchronize state between the Go process and the JavaScript user interface. The project provides a native desktop API wrapper to orchestrate system-level features from the backend. This includes the ability to manage browser windows, construct native application menus, and control system tray icons and
go-astilectron is a cross-platform framework that combines a Go backend with an Electron (HTML/CSS/JS) frontend, providing IPC, native desktop APIs, and two-way Go-JS binding—exactly the kind of Go+web desktop app toolkit you're looking for.
Cosmopolitan is a cross-platform C runtime library and build framework that enables the creation of single-file, self-contained executables. By providing a unified set of system headers and a specialized compiler toolchain, it allows developers to write low-level systems code that executes natively across multiple operating systems without requiring recompilation for each target environment. The project utilizes a polyglot binary format and a system call shimming layer to intercept and translate kernel requests, effectively bypassing standard library dependencies. This approach consolidates a
Cosmopolitan is a C runtime and build tool for creating polyglot binaries, not a framework for building desktop apps with Go backend and web frontend UI—while it enables single-binary cross-platform distribution, it lacks the Go integration and web view capabilities that define the Wails-like category.
This project is a cross-platform desktop application that wraps web-based interfaces into a standalone, native container. By utilizing a webview-based rendering engine, it allows users to access web services as local applications on Windows, macOS, and Linux without requiring a full browser installation. The application is built on a memory-safe backend that manages system-level tasks and facilitates secure communication between the web frontend and the native operating system. This architecture enables features such as system-tray integration for background execution and quick access, provid
This is a ready-made desktop application (a ChatGPT client) built with Tauri, not a framework or toolkit for building your own cross-platform apps with a Go backend and web frontend — it is a finished product, so it will not serve your goal of scaffolding custom applications the way Wails does.
This library provides a lightweight framework for building cross-platform desktop applications by rendering web content within native application windows. It utilizes the browser engine already present on the host operating system to display user interfaces, allowing developers to combine web technologies with native system capabilities. The project functions as a bridge between the web environment and the native host, enabling bidirectional communication between JavaScript and native code. By mapping script execution to native functions, it allows frontend interfaces to trigger system-level
This is a cross-platform webview library that embeds web content in native windows and supports bidirectional JavaScript-native code communication, but it is a C++ building block, not a Go-focused framework with integrated Go-JS binding and hot-reload tooling like Wails.
This project is a TypeScript desktop boilerplate and application template that combines Electron and React for building cross-platform desktop applications. It provides a structural foundation and framework for creating native system applications that bundle web technologies into distributable operating system packages. The project distinguishes itself by providing a hot-reloading desktop environment. This development setup applies code changes instantly to the user interface without requiring manual application restarts, preserving the current interface state through hot module replacement.
This is an Electron React boilerplate for cross-platform desktop apps, but it uses JavaScript/TypeScript for the backend, not Go — so it's a neighboring stack rather than the Go-and-web-frontend framework you're looking for.
nw.js is a Node.js desktop application framework that combines a Chromium web renderer with a Node.js runtime to build standalone software for Windows, macOS, and Linux. It serves as a cross-platform desktop runtime that allows developers to create native executables using web technologies. The project is distinguished by its integration layer that exposes Node.js system APIs and modules directly to the browser window and web worker contexts. It functions as a native module bridge, enabling the compilation and execution of low-level C++ system code and native addons within a web-based applica
nw.js is a desktop application framework using Node.js and Chromium, but it does not support Go for backend logic, which is the core requirement of this search; it is a Node.js-based alternative rather than a Go-powered solution like Wails.
Neutralinojs is a lightweight cross-platform desktop application framework that allows developers to build native applications using web technologies and a C++ backend. It serves as a native system API bridge, enabling JavaScript frontend code to execute system commands and manage files across Windows, macOS, and Linux. The project distinguishes itself as a portable runtime that renders interfaces via the system's built-in webview instead of bundling a full browser engine. This approach enables the packaging of web assets into small, standalone executable binaries. The framework provides com
Neutralinojs is a lightweight cross-platform desktop framework that uses web technologies for the UI with a C++ backend, but this search specifically requires a Go backend — it follows the same pattern as Wails but with a different language.
Electrobun is a desktop application framework and webview-based GUI toolkit used for building cross-platform desktop apps. It provides a TypeScript-based runtime and a native system webview to create interfaces that integrate embedded browser views with host-process logic. The project features a native GPU integration layer with direct FFI bindings, allowing for high-performance GPU surfaces and compute workloads to run within a desktop application. It also includes an inter-process communication bridge using a typed RPC system to exchange data and execute functions between the native backend
Electrobun is a cross-platform desktop app framework that uses a TypeScript runtime and a native webview, but it does not use Go for the backend logic as you are looking for; it belongs to a different language ecosystem (TypeScript instead of Go).
Angular Electron is a project scaffolding tool that generates a preconfigured desktop application template combining Angular's web framework with Electron's native runtime. It produces cross-platform executables for Windows, macOS, and Linux from a single codebase, while providing a development server with hot reload that automatically refreshes the Electron renderer process when Angular source files change. The project handles the architectural complexity of running Angular inside Electron by separately bundling Node.js modules for the main process and Angular modules for the renderer proces
This is an Angular Electron scaffolding tool, not a Go-backed desktop framework — it uses Node.js rather than Go for backend logic, so it does not match the Wails-style architecture you are looking for.
Photon is a cross-platform desktop framework and UI development kit designed for building software that runs on multiple operating systems. It functions as an application framework for creating desktop software using a web-based frontend. The project focuses on the design of cross-platform graphical user interfaces, specifically for applications developed with Electron. It provides tools for building web-based desktop interfaces and polished layouts using HTML and CSS.
Photon is a cross-platform desktop framework that uses a web-based frontend, but it is built on Electron and focuses on CSS/HTML styling, lacking the Go backend and Go-JS two-way binding that Wails provides, so it fits the general desktop app framework category but not the specific Go+web toolkit this search targets.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| wailsapp/wails | 34.8K | Go | MIT | |
| zserge/lorca | 8.2K | Go | MIT | |
| asticode/go-astilectron |
| 4.9K |
| Go |
| MIT |
| jart/cosmopolitan | 20.6K | C | isc |
| lencx/chatgpt | 54.4K | Rust | — |
| webview/webview | 13.9K | C++ | mit |
| electron-react-boilerplate/electron-react-boilerplate | 24.2K | TypeScript | MIT |
| nwjs/nw.js | 41.2K | JavaScript | MIT |
| neutralinojs/neutralinojs | 8.5K | C++ | NOASSERTION |
| blackboardsh/electrobun | 5.5K | C++ | mit |