Wails
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!
Installation Instructions
Linux
Depends on:
go
Linux
Depends on:
go Create Wails folder
{
"path": "{{ .PTools }}/wails/{{ .SVar `.tool.wails.download.version` }}"
} Run Wails Install
{
"command_parameters": [
"install",
"github.com/wailsapp/wails/v{{ .SVar `.tool.wails.download.version_major` }}/cmd/wails@v{{ .SVar `.tool.wails.download.version` }}"
],
"environment": [
"GOBIN={{ .PTools }}/wails/{{ .SVar `.tool.wails.download.version` }}"
],
"executable": "",
"tool_ref": "go"
}
MacOS
Depends on:
go
MacOS
Depends on:
go Create Wails folder
{
"path": "{{ .PTools }}/wails/{{ .SVar `.tool.wails.download.version` }}"
} Run Wails Install
{
"command_parameters": [
"install",
"github.com/wailsapp/wails/v{{ .SVar `.tool.wails.download.version_major` }}/cmd/wails@v{{ .SVar `.tool.wails.download.version` }}"
],
"environment": [
"GOBIN={{ .PTools }}/wails/{{ .SVar `.tool.wails.download.version` }}"
],
"executable": "",
"tool_ref": "go"
} Binaries
- wails