github.com/wailsapp/wails/v2/cmd/wails
https://github.com/wailsapp/wails
https://github.com/wailsapp/wails/blob/master/README.zh-Hans.md
后端使用标准 Go
使用任意前端技术构建 UI 界面
快速为您的 Go 应用生成 Vue、Vuetify、React 前端代码
通过简单的绑定命令将 Go 方法暴露到前端
使用原生渲染引擎 - 无嵌入式浏览器
共享事件系统
原生文件系统对话框
强大的命令行工具
跨多个平台
1、首先要安装三个必要的东西:
npm: https://nodejs.org/en/download/
webviews2: https://developer.microsoft.com/zh-cn/microsoft-edge/webview2/#download-section (下载常青版引导程序
,记得安装是一定用管理员安装)
*upx:https://github.com/upx/upx/releases/tag/v3.96 (下载后:upx-3.96-win64.zip,然后放入环境变量)
2、golang版本必须是1.17及其以上,安装wails工具:
go install github.com/wailsapp/wails/v2/cmd/wails@latest
3、wails doctor (用此命令查看是否已安装完整必要依赖)
/main.go - 主应用
/frontend/ - 前端项目文件
/build/ - 项目构建目录
/build/appicon.png - 应用程序图标
/build/darwin/ - Mac 特定的项目文件
/build/windows/ - Windows 特定的项目文件
/wails.json - 项目配置
/go.mod - Go 模块文件
/go.sum - Go 模块校验文件
frontend目录没有特定于 Wails 的内容,可以是您选择的任何前端项目。
build目录在构建过程中使用。这些文件可以修改以自定义您的构建。如果文件从构建目录中删除,将重新生成默认版本。
go.mod中的默认模块名称是“changeme”。您应该将其更改为更合适的内容。
4、在当前目录下用命令行开启开发者热加载工具查看效果:
wails dev
5、当然我们也可以打包成自己的可执行二进制文件哟:
wails build
https://mp.weixin.qq.com/s/nLXQThjmL61VLZtuurilKw
后端可以通过Bind方法将实例绑定到app上,然后前端可以通过后端绑定的实例来调用方法。
package main
import (
“github.com/leaanthony/mewn”
“github.com/plutov/packagemain/cpustats/pkg/sys”
“github.com/wailsapp/wails”
)
func main() {
js := mewn.String(“./frontend/dist/app.js”)
css := mewn.String(“./frontend/dist/app.css”)
stats := &sys.Stats{}
app := wails.CreateApp(&wails.AppConfig{
Width: 512,
Height: 512,
Title: “CPU Usage”,
JS: js,
CSS: css,
Colour: “#131313”,
})
app.Bind(stats)
app.Run()
}
https://studygolang.com/articles/29228?fr=sidebar
Golang 跨平台轻量GUI界面对比:Wails vs Fyne vs Webview
Wails:Github 4.2k
C/S模式,一个后端服务,一个前端页面作为UI。前端可以使用 Vue / React / Angular,可以说很适合偏前端的选手。
但是前端页面用系统内置浏览器进行渲染。这就导致一个问题,目前 Windows 下只能使用 IE11。而且据我测试,在 Windows 10 编译不出 exe 文件来。
Fyne:Github 13.8k
非 C/S 模式,UI都是由 Golang 写出来的,界面很漂亮,代码也很简单。
Webview:Github 8.8k
貌似也是基于系统浏览器
https://zhuanlan.zhihu.com/p/404062419
https://learnku.com/go/t/36913
https://github.com/webview/webview