wails-overview
理解 Wails v3 整体架构、应用生命周期、Go-Frontend 桥接、构建系统、Manager API 与版本对比。当用户问到「Wails 是什么 / 工作原理 / 与 Electron 区别 / 启动流程 / 桥接性能 / 构建步骤 / app.Window 等管理器」时使用。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
理解 Wails v3 整体架构、应用生命周期、Go-Frontend 桥接、构建系统、Manager API 与版本对比。当用户问到「Wails 是什么 / 工作原理 / 与 Electron 区别 / 启动流程 / 桥接性能 / 构建步骤 / app.Window 等管理器」时使用。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Foundation 脚手架的子窗口系统使用指南:ChildWindowService(Open/Close/List)、事件总线通信(定向 / 广播)、预设类型(confirm / message / blank)、新增子窗口类型标准操作,以及"子窗口 MVVM 与主窗口一致、通信只走事件总线"等铁律。
MUI 9 数据展示类组件在 Foundation 项目中的详尽用法。当使用 Typography/Avatar/Badge/Chip/Divider/List/Table/Tooltip 时参考。
MUI 9 反馈类组件在 Foundation 项目中的详尽用法。当使用 Alert/Dialog/Progress/Skeleton/Snackbar/Backdrop 时参考。
Foundation 项目 @mui/icons-material 图标库详尽用法指南。Icon 铁律:只用 *Rounded 系列,禁止 emoji/Unicode/第三方 icon 包。
MUI 9 输入类组件在 Foundation 项目中的详尽用法。当使用 Button/TextField/Select/Checkbox/Switch/Slider/Radio/Rating/Autocomplete/ToggleButton/FAB 时参考。
MUI 9 布局类组件在 Foundation 项目中的详尽用法。当使用 Box/Container/Grid/Stack/ImageList 时参考。
| name | wails-overview |
| description | 理解 Wails v3 整体架构、应用生命周期、Go-Frontend 桥接、构建系统、Manager API 与版本对比。当用户问到「Wails 是什么 / 工作原理 / 与 Electron 区别 / 启动流程 / 桥接性能 / 构建步骤 / app.Window 等管理器」时使用。 |
Wails v3 是用 Go 后端 + Web 前端 构建跨平台桌面应用的框架,使用操作系统原生 WebView(Windows: WebView2 / macOS: WebKit / Linux: WebKitGTK),无需打包 Chromium,单文件 ~15MB,启动 <0.5s,内存 ~10MB。
app.Window / app.Event / app.Menu 等 Manager APIOnShutdown / ShouldQuit / ServiceStartup 钩子| 项目 | Wails | Electron |
|---|---|---|
| 浏览器 | OS WebView | 内置 Chromium (~100MB) |
| 后端 | Go (编译) | Node.js (解释) |
| 通信 | 内存桥接 | IPC 进程间 |
| 体积 | ~15MB | ~150MB |
| 启动 | <0.5s | 2-3s |
*application.App 提供以下字段:
app.Window - 窗口创建/管理/回调app.ContextMenu - 上下文菜单app.KeyBinding - 全局快捷键app.Browser - 打开 URL/文件app.Env - 环境信息app.Dialog - 文件/消息对话框app.Event - 自定义事件app.Menu - 应用菜单app.Screen - 屏幕信息app.Clipboard - 剪贴板app.SystemTray - 系统托盘app.Autostart - 开机自启动| Go | TypeScript |
|---|---|
string | string |
int*/float* | number |
bool | boolean |
[]T | T[] |
map[string]T | Record<string, T> |
struct | interface |
time.Time | Date |
error | 抛出异常 |
不支持:chan、func()、非 interface{} 接口、非 struct 指针、未导出字段。
application.New(opts) 解析选项 → 注册服务 → 设置 runtimeapp.Run() → ServiceStartup → 进入事件循环ShouldQuit 钩子(可拦截)→ OnShutdown 回调 → ServiceShutdown → 清理⚠️ 没有 OnStartup 字段;启动逻辑应放在:
ServiceStartup(ctx, options)app.Event.OnApplicationEvent(events.Common.ApplicationStarted, ...)app.Run() 之前Promise.all 并行| 主题 | 文件 |
|---|---|
| 整体架构(推荐先读) | architecture.md |
| 应用生命周期详解 | lifecycle.md |
| Manager API 完整参考 | manager-api.md |
| Go-Frontend 桥接深入 | bridge.md |
| 构建系统原理 | build-system.md |
| 为什么选 Wails | why-wails.md |
| 第一个应用速览 | quick-first-app.md |
| 后续学习路径 | next-steps.md |
| 常见问题 FAQ | faq.md |
| 完整 Changelog(版本历史) | changelog.md |
wails-quickstartwails-cliapplication.New 选项详细 → wails-applicationwails-bindingswails-window