什么是 Wails2?
Wails2 是一个用于构建跨平台桌面应用程序的框架。它的核心理念是:使用 Go 语言编写后端逻辑,使用 Web 技术(HTML/CSS/JS)编写前端界面。
与 Electron 不同,Wails 不打包一个完整的 Chromium 浏览器,而是利用操作系统自带的 WebView(Windows 上是 WebView2,macOS 上是 WebKit,Linux 上是 GTK/WebKit)。这使得 Wails 应用具有体积更小、内存占用更低、启动速度更快的优势。
核心特性
- 原生性能:基于 Go 语言,编译为原生二进制文件。
- 现代前端:完美支持 Vue, React, Svelte, Solid 等主流前端框架。
- 跨平台:一套代码,同时构建 Windows, macOS, Linux 应用。
- 绑定生成:Wails 可以自动将 Go 结构体和方法绑定到 TypeScript/JavaScript,让前端可以直接调用后端逻辑。
案例分析:PC 久坐提醒工具
基于 GitHub 项目 liuchenrang/pc-sedentary-reminder,我们可以看到 Wails 2 在实际开发中的典型应用。
该项目是一个桌面版久坐提醒软件。开发者初衷是因为“浏览器插件版本的不好用”,因此决定利用 Wails 开发一个更稳定、体验更好的原生桌面版本。
项目技术栈拆解
- 后端 (Go):
- 负责核心计时逻辑。
- 处理系统级通知(调用操作系统 API 发送弹窗提醒)。
- 管理配置文件(保存用户的设置)。
- 前端 (TypeScript/CSS):
- 负责绘制用户界面(倒计时显示、设置面板)。
- 提供流畅的交互体验。
- 架构优势:
- 轻量化:相比 Electron 应用动辄几百 MB 的体积,Wails 打包的应用非常小巧。
- 系统交互:能够轻松实现浏览器插件难以做到的后台常驻和系统通知功能。

项目现状
该工具目前更新活跃(最新版本 v1.0.2 发布于 2026年4月),且已经适配了 ARM64 和 AMD64 等多种芯片架构,充分展示了 Wails 在跨平台构建方面的便利性。
总结
Wails2 是 Go 语言开发者进入桌面应用开发的最佳捷径。
通过 pc-sedentary-reminder 这个案例可以看出,如果你需要开发一个**功能单一、对性能有要求、且需要系统级权限(如通知、文件操作)**的桌面工具,Wails 是比 Electron 更轻量、比纯原生开发(如 C#/Swift)更高效的选择。

1万+

被折叠的 条评论
为什么被折叠?



