一. 前言
之前有过关注的小伙伴 ,一定知道我之前主要的桌面端是 : PyQT + Python 的组合。 这个组合整体来说很成熟也很强大。
基于脚手架 ❗❗❗ ,简单的小工具能轻松解决,复杂的也能做一个十几个页面,近10万行的复杂项目, 整体还能保证一定的流畅性。
但是 ,随着对精细功能的逐步提高 ,以及更多多样化的定制需求,代码量的增加 ,这一套有点吃力了。并且AI在其中的作用越来越低。
二. 一次心血来潮的尝试
代码逻辑越简单 ,流程越精简,AI是越擅长的。
直到我无意中了解到 Go 也有自己的桌面端方案 ,并且社区活跃度还相当不错 :

于是我周末花了大概小半天时间让AI写了一个小应用 ,期间我还开了两把游戏 ,哇 ,这效果真的不错。
然后我就很简单的得到了这样一个应用 :



三. 做一个小总结
但是这里可能会让很多小伙伴想到这样一个架构 : Node.js + Electron. 这也是一个很多人都知道的热门组合,我之前也多次使用过他开发小工具 ,效果也不错。
但是我觉得 GO-Wails 比他更适合AI时代 : 这里让AI做了一个很清晰的总结 ,关于 GO 和 Electron 的选择 :
| 维度 | Go+Wails | Electron |
|---|---|---|
| 性能 | ⭐⭐⭐⭐⭐ 飞快 | ⭐⭐ 慢 |
| 体积 | ⭐⭐⭐⭐⭐ 苗条 | ⭐⭐ 臃肿 |
| 开发效率 | ⭐⭐⭐ 需学Go | ⭐⭐⭐⭐⭐ 前端直接上手 |
| 生态/插件 | ⭐⭐⭐ 发展中 | ⭐⭐⭐⭐⭐ npm应有尽有 |
| 调试体验 | ⭐⭐⭐ 够用 | ⭐⭐⭐⭐⭐ DevTools真香 |
| 系统集成 | ⭐⭐⭐⭐⭐ 直接调C/系统API | ⭐⭐⭐ 需要绕路 |
| 跨平台一致性 | ⭐⭐⭐ WebView有差异 | ⭐⭐⭐⭐⭐ 自带浏览器,表现统一 |
| 安全性 | ⭐⭐⭐⭐ 攻击面小 | ⭐⭐⭐ Node+前端=风险大 |
针对我来说 ,我主要有两个目的 :
- 我更倾向于带传统后端能力 的结构,要具有传统后端的复杂逻辑处理能力和优秀的性能
- 我需要一个美观的 APP 样式 ,在样式层面 ,没有什么语言比 JavaScript 更强了
- 我需要更小的应用体积 ,方便转发
- 我需要更接近脚本的简单语法 ,逻辑更简单 ,代码更轻松 , 0 基础就可以通过AI实现
结合这些 ,Go + Wails 真的是一个完美的选择。
四. 简单说说 Go-Wails
Wails = Go后端 + Web前端 + 系统WebView,打包成一个轻量原生桌面应用.
Wails 具体干了三件事
第一件:嵌入一个浏览器窗口
Wails 不会自带浏览器内核,而是借用操作系统已有的。Windows 上用 WebView2(就是 Edge 的内核),macOS 上用 WebKit(Safari 的内核),Linux 上用 WebKitGTK。你的前端代码(HTML、CSS、JS)就在这个窗口里渲染,和在浏览器里打开网页没什么区别。
第二件:搭一座桥让 JS 和 Go 互相调用
这是 Wails 最核心的能力。正常情况下,前端想调用后端需要发 HTTP 请求。但 Wails 生成了一层绑定代码,让你在 JS 里可以直接调用 Go 函数,就像调用本地函数一样,不需要自己写接口、处理请求响应。Go 函数的返回值会直接传回给 JS。反过来,Go 也可以向前端发送事件,前端监听就行。
第三件:把所有东西打包成一个文件
打包时,Wails 会把前端的 HTML、CSS、JS 全部嵌入到 Go 的二进制文件里。最终产物就是一个可执行文件,用户双击就能运行,不需要额外安装任何东西。
这一篇不是教程文档 ,这东西 AI 一查一大把 ,这里就不细说了。
五. 上代码

打包后的大小(PS :这里我没有试过分发后能不能开箱就用,哈哈哈)

总结
能在这么短的时间构建出这么好的一个项目 ,并且打包只需要小小的15M . 启动还是秒开,我觉得未来我的大部分项目应该都会基于这个项目实现。
如果你现在想找到一个好用的桌面端框架体系 ,可以考虑这个。
0基础 + AI 就可以轻松的实现复杂的功能 ,真的太适合AI了。
最后的最后 ❤️❤️❤️👇👇👇
- 👈 欢迎关注 ,超200篇优质文章,未来持续高质量输出 🎉🎉
- 🔥🔥🔥 系列文章集合,高并发,源码应有尽有 👍👍
- 走过路过不要错过 ,知识无价还不收钱 ❗❗