使用Go+ Wails开发轻量级桌面应用端
Wails 是一个使用 Go 语言开发的框架,允许开发者使用 Go 和前端技术(如 HTML、CSS 和 JavaScript)来构建跨平台的桌面应用程序。Wails 提供了一个简单的方式来将 Go 代码与前端代码集成,并生成原生的桌面应用。
以下是一个详细的教程,帮助你使用 Wails 开发桌面应用,并附上中文教程。
1. 安装 Wails
首先,你需要安装 Wails CLI。Wails 支持 Windows、macOS 和 Linux 平台。
安装 Go
确保你已经安装了 Go 语言。你可以从 Go 官方网站 下载并安装 Go。
安装 Wails CLI
在终端中运行以下命令来安装 Wails CLI:
go install github.com/wailsapp/wails/v2/cmd/wails@latest
安装完成后,你可以通过以下命令验证安装是否成功:
wails doctor
2. 创建一个新的 Wails 项目
使用 Wails CLI 创建一个新的项目:
wails init
运行上述命令后,Wails 会提示你输入项目名称、选择模板(如 vanilla
或 vue
),并生成项目结构。
例如,你可以创建一个名为 myapp
的项目:
wails init -n myapp
3. 项目结构
生成的项目结构如下:
myapp/
├── build/
├── frontend/
│ ├── src/
│ ├── public/
│ ├── package.json
│ └── ...
├── main.go
├── wails.json
└── ...
main.go
:Go 代码的主入口文件。frontend/
:前端代码目录,包含 HTML、CSS 和 JavaScript 文件。wails.json
:Wails 项目的配置文件。
4. 编写 Go 代码
在 main.go
文件中,你可以编写 Go 代码来处理业务逻辑。Wails 提供了一个 runtime
包,允许你与前端进行交互。
package main
import (
"github.com/wailsapp/wails/v2/pkg/runtime"
"log"
"context"
)
// App struct
type App struct {
ctx context.Context
}
// NewApp creates a new App application struct
func NewApp() *App {
return &App{}
}
// startup is called when the app starts. The context is saved
// so we can call the runtime methods
func (a *App) startup(ctx context.Context) {
a.ctx = ctx
}
// Greet returns a greeting for the given name
func (a *App) Greet(name string) string {
return "Hello " + name + "!"
}
func main() {
err := wails.Run(&options.App{
Title: "MyApp",
Width: 1024,
Height: 768,
Bind: []interface{}{
NewApp(),
},
})
if err != nil {
log.Fatal(err)
}
}
5. 编写前端代码
在 frontend/src/
目录下,你可以编写前端代码。Wails 支持使用 HTML、CSS 和 JavaScript 来构建用户界面。
例如,在 frontend/src/index.html
中:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>MyApp</title>
</head>
<body>
<h1>Welcome to MyApp</h1>
<input type="text" id="name" placeholder="Enter your name">
<button onclick="greet()">Greet</button>
<p id="result"></p>
<script src="/wails/runtime.js"></script>
<script src="/wails/ipc.js"></script>
<script>
async function greet() {
const name = document.getElementById('name').value;
const result = await window.backend.App.Greet(name);
document.getElementById('result').innerText = result;
}
</script>
</body>
</html>
6. 运行和构建应用
运行应用
在开发模式下,你可以使用以下命令运行应用:
wails dev
这将启动一个开发服务器,并在浏览器中打开应用。
构建应用
当你准备好发布应用时,可以使用以下命令构建应用:
wails build
这将生成一个可执行文件,可以在目标平台上运行。
7. 中文教程
7.1 安装 Wails
确保你已经安装了 Go 语言,然后使用以下命令安装 Wails CLI:
go install github.com/wailsapp/wails/v2/cmd/wails@latest
7.2 创建项目
使用以下命令创建一个新的 Wails 项目:
wails init -n 我的应用
7.3 编写代码
在 main.go
中编写 Go 代码,在 frontend/src/
中编写前端代码。
7.4 运行和构建
使用 wails dev
运行应用,使用 wails build
构建应用。
版权声明:本文为原创文章,版权归 全栈开发技术博客 所有。
本文链接:https://www.lvtao.net/dev/go-wails.html
转载时须注明出处及本声明