5
0
mirror of https://github.com/wailsapp/wails.git synced 2025-05-02 22:49:31 +08:00
Create beautiful applications using Go
Go to file
2019-04-29 18:43:27 +10:00
.github/ISSUE_TEMPLATE Update issue templates 2019-03-06 07:59:24 +11:00
.vscode vscode settings 2019-04-25 20:08:07 +10:00
cmd always install bridge on serve 2019-04-27 09:29:19 +10:00
licenses updated licenses + gomod 2019-02-20 22:48:59 +11:00
scripts Automate version bumps 2019-03-10 17:02:12 +11:00
wailsruntimeassets Set script type for injections 2019-04-23 08:46:11 +10:00
.gitignore Automate version bumps 2019-03-10 17:02:12 +11:00
.goreleaser.yml release 0.11.3 2019-04-25 20:14:10 +10:00
app_cli.go fix: version output of built app 2019-03-29 08:24:46 +11:00
app_config.go Move to mewn 2019-02-18 21:06:53 +11:00
app.go fix: ensure errors are logged 2019-04-25 20:05:39 +10:00
binding_function.go fix: convert js nulls to Go zero values 2019-03-19 08:20:45 +11:00
binding_manager.go refactored processCall 2019-02-04 19:50:26 +11:00
binding_method.go Args messages to debug 2019-01-11 06:53:34 +11:00
event_manager.go linting fixes 2019-04-10 08:38:46 +10:00
go.mod Update webview to 0.2.7 2019-04-26 18:54:06 +10:00
go.sum Update webview to 0.2.7 2019-04-26 18:54:06 +10:00
ipc_call.go Initial commit of wails build 2019-01-08 07:58:46 +11:00
ipc_event.go Initial commit of wails build 2019-01-08 07:58:46 +11:00
ipc_log.go Initial commit of wails build 2019-01-08 07:58:46 +11:00
ipc_manager.go Initial commit of wails build 2019-01-08 07:58:46 +11:00
ipc_message.go Initial commit of wails build 2019-01-08 07:58:46 +11:00
ipc_response.go Use hex encoded strings for callbacks 2019-03-17 16:56:41 +11:00
LICENSE Update license and readme 2019-04-08 19:18:39 +10:00
log_custom.go Added release mode flag 2019-01-10 22:48:54 +11:00
log.go Added release mode flag 2019-01-10 22:48:54 +11:00
README.md Add Hound badge 2019-04-29 18:43:27 +10:00
renderer_headless.go dialog errors -> warnings 2019-04-27 10:16:12 +10:00
renderer_webview.go more linting fixes 2019-04-10 08:46:49 +10:00
renderer.go Initial commit of simplification 2019-01-30 09:00:46 +11:00
runtime_dialog.go Updated comments 2019-01-14 22:46:45 +11:00
runtime_events.go fix: destructure emit data 2019-04-23 08:44:47 +10:00
runtime_filesystem.go Added Runtime.FileSystem 2019-04-20 12:13:55 +10:00
runtime_log.go Updated comments 2019-01-14 22:46:45 +11:00
runtime_window.go Updated comments 2019-01-14 22:46:45 +11:00
runtime.go Added Runtime.FileSystem 2019-04-20 12:13:55 +10:00
utils.go Move to mewn 2019-02-18 08:31:22 +11:00
wails-mewn.go more linting fixes 2019-04-10 08:46:49 +10:00


A framework for building desktop applications using Go & Web Technologies.

CodeFactor CodeFactor

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 libraries/frameworks for the backend
  • Use any frontend technology to build your UI
  • Expose Go methods/functions to the frontend via a single bind command
  • Uses native rendering engines - no embedded browser
  • Shared events system
  • Native file dialogs
  • Powerful cli tool
  • Multiplatform

Installation

Wails uses cgo to bind to the native rendering engines so a number of platform dependent libraries are needed as well as an installation of Go. The basic requirements are:

  • Go 1.11 or above
  • npm

MacOS

Make sure you have the xcode command line tools installed. This can be done by running:

xcode-select --install

Linux

Ubuntu 18.04

sudo apt install pkg-config build-essential libgtk-3-dev libwebkit2gtk-4.0-dev

Note: If you have successfully installed these dependencies on a different flavour of Linux, please consider submitting a PR.

Windows

Windows requires gcc and related tooling. The recommended download is from http://tdm-gcc.tdragon.net/download. Once this is installed, you are good to go.

Installation

Installation is as simple as running the following command:

go get -u github.com/wailsapp/wails/cmd/wails

Next Steps

It is recommended at this stage to read the comprehensive documentation at https://wails.app.

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. Whilst Wails does not currently offer hooks into native elements such as menus, this may change in the future.

  • Who is this project aimed at?

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

Shoulders of Giants

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.
  • Serge Zaitsev - Creator of Webview which Wails uses for the windowing.

Special Mentions:

  • Bill Kennedy - Go guru, encourager and all-round nice guy, whose energy and inspiration powered me on when I had none left.
  • Mark Bates - Creator of Packr, inspiration for packing strategies.