Wails 是一款开源轻量级跨平台桌面应用开发框架,采用 Go 语言搭配 Vue、React、Svelte 等任意前端框架进行开发。框架主打 体积小巧、秒级启动、原生交互体验、Go 后端高性能并发 ,是目前非常主流的 Electron 轻量化替代方案 。
后端 :整体后端基于 Go 语言开发,最终编译为 独立的原生二进制文件 ,能够 直接调用系统底层 API ,运行高效无冗余。
前端 :界面基于 HTML、CSS、JavaScript 开发,兼容各类主流前端框架。页面依托 系统原生 WebView 渲染,Windows 适配 WebView2 、macOS 使用 WKWebView 、Linux 采用 WebKitGTK ,全程 不捆绑浏览器内核 ,极大精简了程序体积。
通信机制 :框架内置 IPC 双向通信能力 ,前端可直接调用后端 Go 方法,Go 服务也能主动向前端推送事件,同时支持 自动生成 TS 类型绑定 ,适配类型化开发。
打包方式 :将 Go 二进制文件与前端静态资源整合打包为 单个可执行文件 ,运行 无任何额外依赖 ,双击即可直接启动使用。
核心优势(对比 Electron)
Wails 与 Electron 核心运行参数对比如下:
特性
Wails
Electron
包体积
约 15MB
150MB+
内存占用
约 10MB
100MB+
启动时间
0.5s 以内
2–3s
后端语言
Go(高性能、并发能力强)
Node.js
渲染引擎
系统原生 WebView
内置 Chromium
跨平台
Windows/macOS/Linux
全平台一致
两者核心区别可以一句话概括: Electron 是浏览器内运行应用,Wails 则是原生应用内嵌系统浏览器组件 。
主要特性
原生体验充足 :完整支持系统 原生窗口、菜单栏、对话框、托盘图标、消息通知、剪贴板、全局快捷键 ,同时适配窗口 半透明、磨砂质感 等原生特效。
多前端框架适配 :内置 Vue、React、Svelte、Preact、Lit、原生 JS 多种开发模板,同时提供 JS、TS 双版本 ,适配不同开发习惯。
开发体验友好 :支持 Vite 前端热更新、Go 代码自动重启、前端可视化调试 ,可 自动生成 TS 类型文件 ,大幅提升开发效率。
生产环境就绪 :原生支持 多窗口开发、系统深度集成、代码签名、一键打包 ,产物符合 应用商店上线规范 ,可直接用于商业项目。
运行零冗余依赖 :Windows 平台 无需 CGO、DLL 依赖 ,macOS、Linux 仅依赖 系统自带基础库 ,兼容性极强。
快速上手(v2 稳定版) 环境准备
安装 Go 1.18 及以上版本 并完成 GOPATH 配置,随后安装 Wails 命令行工具。
创建项目
以 Vue 模板为例,快速初始化项目:
开发运行
执行开发命令启动本地服务:
该命令会同时启动 Go 后端与前端 Vite 服务 ,全程开启 热更新 ,代码修改实时生效。
项目开发完成后,执行打包命令编译生产产物:
打包后输出 独立二进制文件 ,Windows 为 exe 文件 、macOS 为 app 文件 , 无环境依赖 ,可直接分发运行。
热门跟贴