mirror of
https://github.com/wailsapp/wails.git
synced 2025-05-02 14:22:12 +08:00
301 lines
12 KiB
Markdown
301 lines
12 KiB
Markdown
<p align="center" style="text-align: center">
|
|
<img src="logo-universal.png" width="55%"><br/>
|
|
</p>
|
|
<p align="center">
|
|
Build desktop applications using Go & Web Technologies.<br/><br/>
|
|
<a href="https://github.com/wailsapp/wails/blob/master/LICENSE">
|
|
<img src="https://img.shields.io/badge/License-MIT-blue.svg">
|
|
</a>
|
|
<a href="https://goreportcard.com/report/github.com/wailsapp/wails">
|
|
<img src="https://goreportcard.com/badge/github.com/wailsapp/wails"/>
|
|
</a>
|
|
<a href="http://godoc.org/github.com/wailsapp/wails">
|
|
<img src="https://img.shields.io/badge/godoc-reference-blue.svg"/>
|
|
</a>
|
|
<a href="https://www.codefactor.io/repository/github/wailsapp/wails">
|
|
<img src="https://www.codefactor.io/repository/github/wailsapp/wails/badge" alt="CodeFactor" />
|
|
</a>
|
|
<a href="https://github.com/wailsapp/wails/issues">
|
|
<img src="https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat" alt="CodeFactor" />
|
|
</a>
|
|
<a href="https://app.fossa.io/projects/git%2Bgithub.com%2Fwailsapp%2Fwails?ref=badge_shield" alt="FOSSA Status">
|
|
<img src="https://app.fossa.io/api/projects/git%2Bgithub.com%2Fwailsapp%2Fwails.svg?type=shield"/>
|
|
</a>
|
|
<a href="https://houndci.com">
|
|
<img src="https://img.shields.io/badge/Reviewed_by-Hound-8E64B0.svg"/>
|
|
</a>
|
|
<a href="https://github.com/avelino/awesome-go" rel="nofollow">
|
|
<img src="https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg" alt="Awesome"/>
|
|
</a>
|
|
<a href="https://github.com/wailsapp/wails/workflows/release/badge.svg?branch=master" rel="nofollow">
|
|
<img src="https://github.com/wailsapp/wails/workflows/release/badge.svg?branch=master" alt="Release Pipelines"/>
|
|
</a>
|
|
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
|
|
[](#contributors-)
|
|
<!-- ALL-CONTRIBUTORS-BADGE:END -->
|
|
</p>
|
|
|
|
<span id="nav-1"></span>
|
|
|
|
## Internationalization
|
|
|
|
[English](README.md) | [简体中文](README.zh-Hans.md)
|
|
|
|
<span id="nav-2"></span>
|
|
|
|
## Table of Contents
|
|
|
|
<details>
|
|
<summary>Click me to Open/Close the directory listing</summary>
|
|
|
|
- [1. Internationalization](#nav-1)
|
|
- [2. Table of Contents](#nav-2)
|
|
- [3. Introduction](#nav-3)
|
|
- [3.1 Official Website](#nav-3-1)
|
|
- [4. Features](#nav-4)
|
|
- [5. Sponsors](#nav-5)
|
|
- [6. Installation](#nav-6)
|
|
- [7. FAQ](#nav-8)
|
|
- [8. Contributors](#nav-9)
|
|
- [9. Special Mentions](#nav-10)
|
|
- [10. Special Thanks](#nav-11)
|
|
|
|
</details>
|
|
|
|
<span id="nav-3"></span>
|
|
|
|
## 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!
|
|
|
|
<span id="nav-3-1"></span>
|
|
<hr/>
|
|
<h3><strong>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.</strong></h3>
|
|
<hr/>
|
|
|
|
### Version 2
|
|
|
|
Wails v2 has been released in Beta for all 3 platforms. Check out the [new website](https://wails.io) if you are
|
|
interested in trying it out.
|
|
|
|
### Legacy v1 Website
|
|
|
|
The legacy v1 docs can be found at [https://wails.app](https://wails.app).
|
|
|
|
<span id="nav-4"></span>
|
|
|
|
## 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*!
|
|
|
|
<span id="nav-5"></span>
|
|
|
|
## Sponsors
|
|
|
|
This project is supported by these kind people / companies:
|
|
|
|
<a href="https://github.com/sponsors/leaanthony" style="width:100px;">
|
|
<img src="/img/silver%20sponsor.png" width="100"/>
|
|
</a>
|
|
<a href="https://github.com/selvindev" style="width:100px;">
|
|
<img src="https://github.com/selvindev.png?size=100" width="100"/>
|
|
</a>
|
|
<br/>
|
|
<br/>
|
|
<a href="https://github.com/sponsors/leaanthony" style="width:100px;">
|
|
<img src="img/bronze%20sponsor.png" width="100"/>
|
|
</a>
|
|
<a href="https://github.com/snider" style="width:100px;">
|
|
<img src="https://github.com/snider.png?size=100" width="100"/>
|
|
</a>
|
|
<a href="https://github.com/codydbentley" style="width:100px">
|
|
<img src="https://github.com/codydbentley.png?size=100" width="100"/>
|
|
</a>
|
|
<a href="https://www.easywebadv.it/" style="width:100px">
|
|
<img src="website/static/img/easyweb.png" width="100"/>
|
|
</a>
|
|
<br/>
|
|
<br/>
|
|
<a href="https://github.com/matryer" style="width:100px">
|
|
<img src="https://github.com/matryer.png" width="100"/>
|
|
</a>
|
|
<a href="https://www.jetbrains.com?from=Wails" style="width:100px">
|
|
<img src="/assets/images/jetbrains-grayscale.png" width="100"/>
|
|
</a>
|
|
<a href="https://github.com/tc-hib" style="width:55px">
|
|
<img src="https://github.com/tc-hib.png?size=55" width="55"/>
|
|
</a>
|
|
<a href="https://github.com/picatz" style="width:50px">
|
|
<img src="https://github.com/picatz.png?size=50" width="50"/>
|
|
</a>
|
|
<a href="https://github.com/tylertravisty" style="width:50px">
|
|
<img src="https://github.com/tylertravisty.png?size=50" width="50"/>
|
|
</a>
|
|
<a href="https://github.com/akhudek" style="width:50px">
|
|
<img src="https://github.com/akhudek.png?size=50" width="50"/>
|
|
</a>
|
|
<a href="https://github.com/trea" style="width:50px">
|
|
<img src="https://github.com/trea.png?size=50" width="50"/>
|
|
</a>
|
|
<a href="https://github.com/LanguageAgnostic" style="width:55px">
|
|
<img src="https://github.com/LanguageAgnostic.png?size=55" width="55"/>
|
|
</a>
|
|
<a href="https://github.com/fcjr" style="width:55px">
|
|
<img src="https://github.com/fcjr.png?size=55" width="55"/>
|
|
</a>
|
|
<a href="https://github.com/nickarellano" style="width:60px">
|
|
<img src="https://github.com/nickarellano.png?size=60" width="60"/>
|
|
</a>
|
|
<a href="https://github.com/bglw" style="width:65px">
|
|
<img src="https://github.com/bglw.png?size=65" width="65"/>
|
|
</a>
|
|
<a href="https://github.com/marcus-crane" style="width:65px">
|
|
<img src="https://github.com/marcus-crane.png?size=65" width="65"/>
|
|
</a>
|
|
<a href="https://github.com/bbergshaven" style="width:45px">
|
|
<img src="https://github.com/bbergshaven.png?size=45" width="45"/>
|
|
</a>
|
|
<a href="https://github.com/Gilgames000" style="width:45px">
|
|
<img src="https://github.com/Gilgames000.png?size=45" width="45"/>
|
|
</a>
|
|
<a href="https://github.com/ilgityildirim" style="width:50px">
|
|
<img src="https://github.com/ilgityildirim.png?size=50" width="50"/>
|
|
</a>
|
|
<a href="https://github.com/questrail" style="width:50px">
|
|
<img src="https://github.com/questrail.png?size=50" width="50"/>
|
|
</a>
|
|
<a href="https://github.com/DonTomato" style="width:45px">
|
|
<img src="https://github.com/DonTomato.png?size=45" width="45"/>
|
|
</a>
|
|
<a href="https://github.com/taigrr" style="width:55px">
|
|
<img src="https://github.com/taigrr.png?size=55" width="55"/>
|
|
</a>
|
|
<a href="https://github.com/charlie-dee" style="width:55px">
|
|
<img src="https://github.com/charlie-dee.png?size=55" width="55"/>
|
|
</a>
|
|
<a href="https://github.com/EdenNetworkItalia" style="width:65px">
|
|
<img src="https://github.com/EdenNetworkItalia.png?size=65" width="65"/>
|
|
</a>
|
|
<a href="https://github.com/michaelolson1996" style="width:55px">
|
|
<img src="https://github.com/michaelolson1996.png?size=55" width="55"/>
|
|
</a>
|
|
<a href="https://github.com/GargantuaX" style="width:45px">
|
|
<img src="https://github.com/GargantuaX.png?size=45" width="45"/>
|
|
</a>
|
|
<a href="https://github.com/CharlieGo88" style="width:55px">
|
|
<img src="https://github.com/CharlieGo88.png?size=55" width="55"/>
|
|
</a>
|
|
<a href="https://github.com/Bironou" style="width:55px">
|
|
<img src="https://github.com/Bironou.png?size=55" width="55"/>
|
|
</a>
|
|
<a href="https://github.com/Shackelford-Arden" style="width:55px">
|
|
<img src="https://github.com/Shackelford-Arden.png?size=55" width="55"/>
|
|
</a>
|
|
<a href="https://github.com/boostchicken" style="width:65px">
|
|
<img src="https://github.com/boostchicken.png?size=65" width="65"/>
|
|
</a>
|
|
<span id="nav-6"></span>
|
|
|
|
## Roadmap
|
|
|
|
The project roadmap may be found [here](https://github.com/wailsapp/wails/discussions/1484). Please consult
|
|
this before open up an enhancement request.
|
|
|
|
## Installation
|
|
|
|
The installation instructions are on the [official website](https://wails.io/docs/gettingstarted/installation).
|
|
|
|
<span id="nav-8"></span>
|
|
|
|
## 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](https://en.wikipedia.org/wiki/Wales) I am from. So it stuck.
|
|
|
|
## Stargazers over time
|
|
|
|
[](https://starchart.cc/wailsapp/wails)
|
|
|
|
<span id="nav-9"></span>
|
|
|
|
## Contributors
|
|
|
|
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
|
|
<!-- prettier-ignore-start -->
|
|
<!-- markdownlint-disable -->
|
|
<!-- markdownlint-restore -->
|
|
<!-- prettier-ignore-end -->
|
|
|
|
<!-- ALL-CONTRIBUTORS-LIST:END -->
|
|
|
|
<span id="nav-10"></span>
|
|
|
|
## Special Mentions
|
|
|
|
Without the following people, this project would never have existed:
|
|
|
|
- [Dustin Krysak](https://wiki.ubuntu.com/bashfulrobot) - His support and feedback has been immense. More patience than
|
|
you can throw a stick at (Not long now Dustin!).
|
|
- [Serge Zaitsev](https://github.com/zserge) - Creator of [Webview](https://github.com/zserge/webview) which Wails uses
|
|
for the windowing.
|
|
- [Byron](https://github.com/bh90210) - 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:
|
|
|
|
- [Manic Street Preachers - Resistance Is Futile](https://open.spotify.com/album/1R2rsEUqXjIvAbzM0yHrxA)
|
|
- [Manic Street Preachers - This Is My Truth, Tell Me Yours](https://open.spotify.com/album/4VzCL9kjhgGQeKCiojK1YN)
|
|
- [The Midnight - Endless Summer](https://open.spotify.com/album/4Krg8zvprquh7TVn9OxZn8)
|
|
- [Gary Newman - Savage (Songs from a Broken World)](https://open.spotify.com/album/3kMfsD07Q32HRWKRrpcexr)
|
|
- [Steve Vai - Passion & Warfare](https://open.spotify.com/album/0oL0OhrE2rYVns4IGj8h2m)
|
|
- [Ben Howard - Every Kingdom](https://open.spotify.com/album/1nJsbWm3Yy2DW1KIc1OKle)
|
|
- [Ben Howard - Noonday Dream](https://open.spotify.com/album/6astw05cTiXEc2OvyByaPs)
|
|
- [Adwaith - Melyn](https://open.spotify.com/album/2vBE40Rp60tl7rNqIZjaXM)
|
|
- [Gwidaith Hen Fran - Cedors Hen Wrach](https://open.spotify.com/album/3v2hrfNGINPLuDP0YDTOjm)
|
|
- [Metallica - Metallica](https://open.spotify.com/album/2Kh43m04B1UkVcpcRa1Zug)
|
|
- [Bloc Party - Silent Alarm](https://open.spotify.com/album/6SsIdN05HQg2GwYLfXuzLB)
|
|
- [Maxthor - Another World](https://open.spotify.com/album/3tklE2Fgw1hCIUstIwPBJF)
|
|
- [Alun Tan Lan - Y Distawrwydd](https://open.spotify.com/album/0c32OywcLpdJCWWMC6vB8v)
|
|
|
|
<span id="nav-11"></span>
|
|
|
|
## Special Thanks
|
|
|
|
<p align="center" style="text-align: center">
|
|
<a href="https://pace.dev"><img src="/assets/images/pace.jpeg"/></a><br/>
|
|
A <i>huge</i> thanks to <a href="https://pace.dev">Pace</a> for sponsoring the project and helping the efforts to get Wails ported to Apple Silicon!<br/><br/>
|
|
If you are looking for a Project Management tool that's powerful but quick and easy to use, check them out!<br/><br/>
|
|
</p>
|
|
|
|
<p align="center" style="text-align: center">
|
|
A special thank you to JetBrains for donating licenses to us!<br/><br/>
|
|
Please click the logo to let them know your appreciation!<br/><br/>
|
|
<a href="https://www.jetbrains.com?from=Wails"><img src="/assets/images/jetbrains-grayscale.png" width="30%"></a>
|
|
</p>
|