/wails

Create beautiful applications using Go

Primary LanguageGoMIT LicenseMIT


Build desktop applications using Go & Web Technologies.

CodeFactor CodeFactor Awesome Release Pipelines Contributors

Internationalization

English | 简体中文

Table of Contents

Click me to Open/Close the directory listing

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!


PLEASE NOTE: As we are approaching the v2 release, we are not accepting any new feature requests or bug reports for v1. If you have a critical issue, please open a ticket and state why it is critical.


Version 2

Wails v2 has been released in Beta for all 3 platforms. Check out the new website if you are interested in trying it out.

Legacy v1 Website

The legacy v1 docs can be found at https://wails.app.

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
  • 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!

Sponsors

This project is supported by these kind people / companies:





directory

Roadmap

The project roadmap may be found here. Please consult this before open up an enhancement request.

Installation

The installation instructions are on the official website.

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 v2 does offer native elements such as menus and dialogs, so it is becoming 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

Stargazers over time

Contributors


Lea Anthony

💻 🤔 🎨 🖋 💡 🧑‍🏫 📆 🔧 🐛 📝 🚧 📦 👀 💬 🔬 ⚠️ 📢 👀 📖

stffabi

💻 🤔 🎨 🐛 🚧 📦 👀 💬 🔬 👀 📖 ⚠️

Travis McLane

💻 🔬 📦 🤔 🐛 👀 ⚠️ 💬 📖

Misite Bao

📖 🌍 🔬 🚧

Byron Chris

💻 🔬 🚧 🐛 👀 ⚠️ 💬 🤔 🎨 📦 🚇

konez2k

💻 📦 🤔

Dario Emerson

💻 🐛 🤔 ⚠️

Ian M. Jones

💻 🐛 🤔 ⚠️ 👀 📦

marktohark

💻

Ryan H

💻

Cody Bentley

💻 📦 🤔 💵

Florent

💻 🐛

Alexander Hudek

💻 💵

Tim Kipp

💻

Altynbek Kaliakbarov

💻

Nikolai Zimmermann

💻

k-muchmore

💻

Snider

💻 🤔 📖 💵

Albert Sun

💻 ⚠️

Ariel

💻 🐛

Ilgıt Yıldırım

💻 🐛 💵

Toyam Cox

💻 📦 🐛

hi019

💻 🐛

Arthur Wiebe

💻 🐛

Balakrishna Prasad Ganne

💻

BillBuilt

💻 📦 🤔 💬 💵

Eng Zer Jun

🚧 💻

LGiki

📖

Lontten

📖

Lukas Crepaz

💻 🐛

Marcus Crane

🐛 📖 💵

Qais Patankar

📖

Wakeful-Cloud

💻 🐛

Zámbó, Levente

💻 📦 🐛 ⚠️

Ironpark

💻 🤔

mondy

💻 📖

Benjamin Ryan

🐛

fallendusk

📦 💻

Mat Ryer

💻 🤔 🐛

Abtin

💻 🐛

Adrian Lanzafame

📦 💻

Aleksey Polyakov

🐛 💻

Alexander Matviychuk

💻 📦

AlienRecall

💻 📦

Aman

📖

Amaury Tobias Quiroz

💻 🐛

Andreas Wenk

📖

Antonio Stanković

💻 📦

Arpit Jain

📖

Austin Schey

💻 🐛

Benjamin Thomas

💻 📦 🤔

Bertram Truong

💻 🐛

Blake Bourque

📖

Denis

📖

diogox

💻 📦

Dmitry Gomzyakov

💻 📦

Edward Browncross

💻

Elie Grenon

💻

Florian Didron

💻 🐛 🤔 ⚠️ 👀 📦

GargantuaX

📖 💵

Igor Minin

💻 🐛

Jae-Sung Lee

💻 🤔

Jarek

💻 📦

Junker

📖

Kris Raney

💻 🐛

Luken

📖

Mark Stenglein

💻 🐛

buddyabaddon

💻

MikeSchaap

💻 🐛

NYSSEN Michaël

💻 🐛

Nan0

💻 🤔 ⚠️ 👀

oskar

📖

Pierre Joye

💻 🐛 🤔 ⚠️

Reuben Thomas-Davis

💻 🐛

Robin

💻 🐛

Sebastian Bauer

💻 🤔 ⚠️ 👀 💬

Sidharth Rathi

📖 🐛

Sithembiso Khumalo

💻 🐛

Soheib El-Harrache

💻 🐛 💵

Sophie Au

💻 🐛

Stefanos Papadakis

💻 🐛

Steve Chung

💻 🐛

Timm Ortloff

📖

Tom

💻

Valentin Trinqué

💻 🐛

mattn

💻 🐛

bearsh

💻 🤔 📖

chenxiao

💻 🤔 📖

fengweiqiang

💻 📦

flin7

📖

fred21O4

📖

gardc

📖

rayshoo

📖

Ishiyama Yuzuki

💻 🐛

佰阅

💻

刀刀

📖 🐛

归位

💻 🐛

skamensky

💻 🤔 📖

dependabot[bot]

💻 🚧

Damian Sieradzki

💵

John Dorman

💵

Ian Sinnott

💵

Arden Shackelford

💵

Bironou

💵

CharlieGo_

💵

overnet

💵

jugglingjsons

💵

Selvin Ortiz

💵

ZanderCodes

💵

Michael Voronov

💵

letheanVPN

💵

Tai Groot

💵

easy-web-it

💵

Michael Olson

💵

EdenNetwork Italia

💵

ondoki

💵

QuEST Rail LLC

💵

Gilgameš

💵

Bernt-Johan Bergshaven

💵

Liam Bigelow

💵

Nick Arellano

💵

Frank Chiarulli Jr.

💵

Tyler

💵

Trea Hauet

💵

Kent 'picat' Gruber

💵

tc-hib

💵

Antonio

📖

Special Mentions

Without the following people, this project would never have existed:

  • Dustin Krysak - His support and feedback has been immense. More patience than you can throw a stick at (Not long now Dustin!).
  • Serge Zaitsev - Creator of Webview which Wails uses for the windowing.
  • Byron - At times, Byron has single handedly kept this project alive. Without his incredible input, we never would have got to v1.

This project was mainly coded to the following albums:

Special Thanks


A huge thanks to Pace for sponsoring the project and helping the efforts to get Wails ported to Apple Silicon!

If you are looking for a Project Management tool that's powerful but quick and easy to use, check them out!

A special thank you to JetBrains for donating licenses to us!

Please click the logo to let them know your appreciation!