Build lightweight desktop applications using Go and web technologies, bundled into a single binary.
Wails is a framework that allows developers to build desktop applications by combining a Go backend with a web-based frontend, all packaged into a single executable binary. It solves the problem of creating lightweight, native-feeling desktop apps without needing to run a separate web server or embed a heavy browser runtime. The framework provides tooling for seamless integration between Go code and JavaScript, along with access to native OS features.
Go programmers who want to create desktop applications with modern web interfaces, especially those looking for a lightweight alternative to Electron or wanting to add a GUI to existing Go tools.
Developers choose Wails for its ability to produce small, fast desktop applications using familiar web technologies, coupled with the performance and simplicity of Go. Its unique selling point is the single binary output, native OS integration, and the absence of an embedded browser, resulting in lower resource usage.
Create beautiful applications using Go
Auto-generates TypeScript definitions for Go structs and methods, enabling type-safe communication between backend and frontend as highlighted in the features.
Uses native rendering engines instead of embedding a full browser, resulting in smaller binary sizes and lower resource usage, a key selling point in the README.
Provides built-in support for OS-level elements like dialogs, menus, dark/light mode, and translucency effects, enhancing the native feel without extra effort.
Allows use of any web technology with pre-built templates, giving developers freedom in UI design without being locked into a specific framework.
Offers a powerful CLI for project creation, compilation, and bundling into a single binary, streamlining the development workflow as described.
Compared to mature frameworks like Electron, Wails has a smaller community and fewer third-party libraries, which can limit resources and plugins for advanced features.
Requires proficiency in Go for the backend, making it less accessible for teams accustomed to JavaScript-heavy stacks, as indicated by its target audience of Go programmers.
Relies on native webviews that can have platform-specific quirks, potentially requiring extra work to ensure consistent behavior across Windows, macOS, and Linux.
The project has an active roadmap and ongoing changes, which might lead to breaking updates or missing features compared to more stable alternatives.
wails is an open-source alternative to the following products:
:electron: Build cross-platform desktop apps with JavaScript, HTML, and CSS
Call all Node.js modules directly from DOM/WebWorker and enable a new way of writing applications with all Web technologies.
Portable and lightweight cross-platform desktop application development framework
Ultra-fast bootstrapping with Angular and Electron :speedboat:
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.