Skip to content
← Back to projects

Wails

Create beautiful applications using Go


Build desktop applications using Go & Web Technologies.

GitHub Go Reference CodeFactor Awesome Discord
Build GitHub tag (latest SemVer pre-release)

#Table of Contents

#Introduction

The traditional method of providing web interfaces to Go programs is via a built-in web server. Wails offers a different approach: it provides the ability to wrap both Go code and a web frontend into a single binary. Tools are provided to make this easy for you by handling project creation, compilation and bundling. All you have to do is get creative!

#Features

  • Use standard Go for the backend
  • Use any frontend technology you are already familiar with to build your UI
  • Quickly create rich frontends for your Go programs using pre-built templates
  • Easily call Go methods from Javascript
  • Auto-generated Typescript definitions for your Go structs and methods
  • Native Dialogs & Menus
  • Native Dark / Light mode support
  • Supports modern translucency and "frosted window" effects
  • Unified eventing system between Go and Javascript
  • Powerful cli tool to quickly generate and build your projects
  • Multiplatform
  • Uses native rendering engines - no embedded browser!

#Roadmap

The project roadmap may be found here. New functionality and public behaviour changes use a WEP (Wails Enhancement Proposal), submitted as a draft pull request rather than a feature-request issue.

#Getting Started

Wails has two active versions:

Version Status Install Docs
v2 Stable go install github.com/wailsapp/wails/v2/cmd/wails@latest wails.io
v3 Beta go install github.com/wailsapp/wails/v3/cmd/wails3@latest v3.wails.io

Full installation instructions are available for v2 and v3.

#Sponsors

This project is supported by these kind people / companies:

#Powered By

JetBrains logo.

#FAQ

  • Is this an alternative to Electron?

    Depends on your requirements. It's designed to make it easy for Go programmers to make lightweight desktop applications or add a frontend to their existing applications. Wails does offer native elements such as menus and dialogs, so it could be considered a lightweight electron alternative.

  • Who is this project aimed at?

    Go programmers who want to bundle an HTML/JS/CSS frontend with their applications, without resorting to creating a server and opening a browser to view it.

  • What's with the name?

    When I saw WebView, I thought "What I really want is tooling around building a WebView app, a bit like Rails is to Ruby". So initially it was a play on words (Webview on Rails). It just so happened to also be a homophone of the English name for the Country I am from. So it stuck.

#Stargazers over time

Wails star history chart

#Contributors

The contributors list is getting too big for the readme! All the amazing people who have contributed to this project have their own page here.

#License

FOSSA Status

#Inspiration

This project was mainly coded to the following albums:

New version available.