Fyne 系列 01:为什么用 Go 写桌面 GUI
Fyne 是一个用 Go 编写跨平台图形界面的工具包。它的定位不是做一个浏览器壳,也不是把前端工程搬到桌面上,而是让 Go 程序可以直接拥有一个原生桌面窗口。
如果你已经会写 Go 命令行工具,那么 Fyne 比较适合把这些工具包上一层界面,例如配置生成器、文件批处理工具、日志查看器、下载器、内部运维工具等。
适合 Fyne 的场景
- 小型桌面工具
- 内部管理工具
- 文件处理工具
- 配置编辑器
- 需要跨 Windows、macOS、Linux 的轻量应用
这些场景通常不需要复杂前端生态,也不一定需要浏览器运行时。Fyne 的优势是项目结构简单,一个 Go 模块就能放下主要逻辑和界面代码。
和其他方案的区别
Electron 适合复用前端技术栈,但安装包通常比较大。Wails 适合 Go 后端加 Web 前端的组合,界面表现力更强,但仍然需要维护前端代码。Gio 更底层,灵活度高,不过学习曲线也更高。
Fyne 的特点是直接、统一、跨平台。你写的是 Go 代码,控件、布局、事件都在 Go 里完成。代价是界面风格更偏 Fyne 自己的组件体系,不能像 Web 那样随意控制每个 CSS 细节。
一个最小窗口
1 | package main |
Fyne 程序的基本结构就是创建应用、创建窗口、设置内容、启动事件循环。
这个系列会写什么
这个系列会从安装环境开始,逐步写到布局、控件、数据绑定、文件对话框、主题、自定义控件、测试、桌面打包、跨平台编译、Docker、Android APK,以及 fyne-x 社区组件。
目标很简单:不是把文档翻译一遍,而是围绕真实桌面小工具开发,把常用写法和常见坑整理出来。
评论
评论插件加载失败
正在加载评论插件