Wails:跨平台桌面应用开发,不容错过的选择!
Wails 是一个基于 Go 语言构建的现代化跨平台桌面应用开发框架,允许开发者使用熟悉的前端技术(如 HTML、CSS、JavaScript)创建用户界面,结合 Go 后端的逻辑处理能力。这使得开发者能快速构建轻量级、高效的桌面应用程序,同时保持代码的简洁和易于维护。一、Wails 的架构与核心理念Wails 的设计核心在于轻量、高效和跨平台,它没有引入如 Electron 中的 Chromiu
Wails 是一个基于 Go 语言构建的现代化跨平台桌面应用开发框架,允许开发者使用熟悉的前端技术(如 HTML、CSS、JavaScript)创建用户界面,结合 Go 后端的逻辑处理能力。
这使得开发者能快速构建轻量级、高效的桌面应用程序,同时保持代码的简洁和易于维护。
一、Wails 的架构与核心理念
Wails 的设计核心在于轻量、高效和跨平台,它没有引入如 Electron 中的 Chromium 依赖,而是利用系统自带的 WebView 渲染前端界面。
通过将现代前端框架(如 Vue、React、Svelte 等)和 Go 后端逻辑结合,Wails 提供了一种在桌面端快速开发的解决方案。
Wails 的架构特点:
-
前端部分:可以使用任何现代前端框架(Vue、React、Svelte 等)来构建 UI。
-
后端部分:使用 Go 处理业务逻辑和与操作系统的交互,提供 API 供前端调用。
-
系统 WebView:利用操作系统的内置 WebView 组件,无需打包大型的浏览器引擎,应用程序更加轻量。
-
跨平台支持:支持 Windows、macOS 和 Linux,开发者只需编写一次代码即可在多个平台上运行。
二、Wails 的主要特性
Wails 提供了一系列特性,使其成为构建桌面应用的有力工具:
-
原生窗口支持:基于系统原生窗口组件,应用更加轻量且性能高。
-
跨平台兼容性:支持 Windows、macOS、Linux,保持一致的应用行为。
-
前后端通信:通过 Go 和前端的双向通信机制,前端可以调用 Go 函数,Go 后端可以发送事件和数据给前端。
-
事件管理:内置事件系统,方便前后端之间的异步通信。
-
文件系统访问:提供对文件系统的访问权限,允许读取和写入本地文件。
-
系统 API 支持:支持显示系统对话框、通知以及托盘图标等桌面系统特性。
-
多窗口支持:允许应用程序创建和管理多个窗口。
-
高性能:利用 Go 的高性能并发能力,适合处理复杂的业务逻辑。
-
集成调试工具:开发过程中支持热重载和调试工具,提升开发效率。
-
支持多种前端框架:与 React、Vue、Svelte 等流行前端框架兼容,开发者可以选择最熟悉的前端技术栈。
三、安装 Wails
1. 安装前提
首先确保系统上安装了 Go,并且 Go 版本至少为 1.19。可以使用以下命令检查 Go 版本:
go version
2. 安装 Wails CLI
通过 Go 工具安装 Wails CLI:
go install github.com/wailsapp/wails/v2/cmd/wails@latest
将 Go 的 bin 目录添加到系统路径中,以确保 wails 命令可以在终端中运行。
3. 初始化 Wails 项目
通过 Wails 提供的 CLI,可以轻松创建新的桌面应用项目。
使用默认的 vanilla JS 模板创建新的 Wails 程序, 您需要运行这个指令:
wails init -n helloworld
这将在当前目录中创建一个名为 helloworld 的新目录。
在此目录中,您将找到许多文件:
build/ - Contains the build files + compiled application
frontend/ - Contains the frontend files
app.go - Contains the application code
main.go - The main program with the application configuration
wails.json - The project configuration file
go.mod - The go module file
go.sum - The go module checksum file
4. 启动与打包应用
运行以下命令启动开发模式,Wails 会启动前端服务器,并实时刷新前端页面:
wails dev
当应用开发完成后,可以使用以下命令将应用程序打包为可执行文件:
wails build
这会生成一个跨平台的可执行文件,包含前端和后端代码。
5. 运行应用
如果我们在 Windows 文件管理器中查看 build/bin 目录,我们应该看到我们的项目二进制文件:helloworld.exe。
我们可以通过简单的双击 helloworld.exe 文件来运行它。
在 Mac 上,Wails 生成一个 helloworld.app 文件,可以通过双击来运行。
在 Linux 上,您可以从 build/bin 目录使用 ./helloword 运行应用程序。
您应该看到应用程序正常工作:

四、最后
Helloword 功能已验证成功,让我们深入探索更多特性吧!
Wails 框架以其高效且轻量级的优势,为开发者提供了一种构建跨平台桌面应用的卓越途径。
它巧妙地融合了前端技术的最新趋势与 Go 语言强大的后端处理能力,让应用开发更加便捷。
最后,谢谢你看到了这里👏 想要第一时间接收到推送,可以点个关注。
可点击下方👇 关注公众号
添加作者微信 👇 获取原创学习资料

更多推荐



所有评论(0)