[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fhk3a6x0pljev":3},{"code":4,"message":5,"data":6,"timestamp":64},10000,"success",{"full_name":7,"position":8,"description":9,"language":10,"stars":11,"forks":12,"stars_gained":13,"age_days":14,"hn_threads":15,"one_liner":43,"summary_md":44,"topic":45,"github_topics":48,"license":60,"homepage":61,"updated_at":62,"history":63},"wailsapp\u002Fwails",17,"Create beautiful applications using Go","Go",36690,1905,122,2870,[16,22,28,34,38],{"id":17,"title":18,"points":19,"comments":20,"posted_at":21},31764773,"Wails – Electron Alternative Powered by Go",394,93,"2022-06-16",{"id":23,"title":24,"points":25,"comments":26,"posted_at":27},46030414,"Build desktop applications using Go and Web Technologies",98,77,"2025-11-24",{"id":29,"title":30,"points":31,"comments":32,"posted_at":33},22940362,"Wails: Desktop apps using Go and Web Technologies",3,0,"2020-04-21",{"id":35,"title":36,"points":31,"comments":32,"posted_at":37},19792767,"Wails [Beta]: Create Desktop Apps Using Go and HTML\u002FCSS\u002FJS","2019-04-30",{"id":39,"title":40,"points":41,"comments":32,"posted_at":42},21757358,"Wails v1.0 Released",1,"2019-12-10","Wraps Go backends and web frontends into one desktop binary, for Go developers avoiding an embedded server.","Wails is worth a look if you already write Go and want a desktop UI without learning Swift, C#, or Qt; it is not a drop-in replacement for every Electron app.\n\n## The problem\n\nYou have a Go program — a daemon, a CLI, an internal tool — and you want it to look like a real desktop app instead of a terminal window or a localhost page. The usual workaround is to start an HTTP server and tell users to open a browser, which brings a port, a browser tab, and a separate lifecycle to manage. Wails changes that step: your Go methods are exposed to a JavaScript frontend, the web assets and the Go binary are bundled together, and the build produces one executable that opens a native window. The result is a distributable app rather than \"run this and visit localhost\".\n\n## What's different\n\nThe mechanism is native rendering engines rather than a bundled browser: Wails drives the platform webview and supplies native dialogs, menus, dark\u002Flight mode, translucency and a unified Go↔JavaScript event system. It also generates TypeScript definitions for your Go structs and methods, so the frontend gets typed calls instead of hand-written glue. Frontend choice is open — React, Vue, Svelte, Angular or plain HTML\u002FCSS\u002FJS — and the CLI handles project creation, compilation and bundling. That is the practical benefit: a Go developer keeps one language for logic and can hire or reuse existing web skills for the interface.\n\nThe trade-off is that you are depending on whatever webview the OS provides, and the project's own FAQ hedges on the Electron comparison: whether it fits \"depends on your requirements\". Wails is aimed at Go programmers who want to bundle an HTML\u002FJS\u002FCSS frontend without running a server; if your app depends on Chromium-specific behaviour, a fixed rendering engine is not what this gives you. Also note there are two active lines — v2 is described as stable, v3 as beta — so the API surface you build against matters.\n\n## Who should try it\n\nA good fit is a Go developer with an existing backend or tool who wants a small desktop front end and is comfortable shipping HTML\u002FJS, especially where the interface is mostly forms, tables and native menus. A poor fit is a team that needs a predictable browser engine across every OS, or one already standardized on a non-Go desktop stack. The version split matters here: new projects choosing the beta v3 line are accepting a moving target, while v2 is the documented stable path [getting started](https:\u002F\u002Fgithub.com\u002Fwailsapp\u002Fwails\u002Fblob\u002Fmaster\u002FREADME.md#getting-started).\n\n## Requirements and limitations\n\nThe primary requirement is Go plus the platform's webview and build tooling; the full per-OS prerequisites are in the [installation docs](https:\u002F\u002Fwails.io\u002Fdocs\u002Fgettingstarted\u002Finstallation), and they are where most first-attempt friction lives. Expect platform-specific setup for Windows, macOS and Linux rather than a single cross-platform install. The frontend is your responsibility: templates get you started, but the UI, its dependencies and its build pipeline are part of your project's upkeep.\n\nOngoing care means tracking the v2\u002Fv3 split, since the README presents them as separate installs with separate docs ([v2](https:\u002F\u002Fwails.io\u002F), [v3](https:\u002F\u002Fv3.wails.io\u002F)), and keeping an eye on the roadmap, where new functionality and public behaviour changes go through a WEP process [roadmap](https:\u002F\u002Fgithub.com\u002Fwailsapp\u002Fwails\u002Fdiscussions\u002F1484). The README does not enumerate platform support gaps or migration guarantees, so judge those against your target OSes before committing.\n\n## HotRepo's take\n\nHotRepo's stored coverage begins 2026-10-24 and contains a single observation date, so it cannot support a trend claim: a +122 weekly gain on the Go board at #17 on 2026-10-25 is a dated snapshot, not evidence of momentum. The project itself dates to 2018, and its most-discussed Hacker News thread — 394 points, 93 comments in 2022 — is several years old. One firsthand report in a later thread is worth reading before you commit: a commenter on 2025-11-24 said a Go menu-bar app consumed over 2.5GB of RAM and was replaced with Electron, while other replies questioned whether the cause was the binding or the Go runtime ([comment](https:\u002F\u002Fnews.ycombinator.com\u002Fitem?id=31764773)). That is one report about a different binding, not a verdict on Wails; the specific thing to check is which webview and Go version your target platforms give you.",{"slug":46,"name":47},"developer-tools","Developer Tools",[49,50,51,52,53,54,55,56,57,58,59],"angular","desktop-application","go","golang","javascript","linux","macos","react","svelte","vuejs","windows","MIT","https:\u002F\u002Fwails.io","2026-10-25T12:17:50Z",[],1792968002]