用go语言写GUI
最近写了一个小 APP 。
程序员写 APP 有一个经典的三大件:笔记、todolist、记账三。
这个简单的 APP 其实就是一个 Hugo
的 GUI 工具,用来写写静态博客,使用 Markdown,可生成静态网页:swallow。
最初是一位小白朋友找到我,想让我给他弄一个简单的个人网站,用来发一些自己的论文和文章等等。我一听简单啊,我正好正在使用的就是 Hugo,简单的几个命令就可以快速地生成静态个人网站。遂推荐给朋友,不料一顿安装、配置、命令启动操作下来,朋友傻眼了,表示:“这么难的吗?这黑色的输命令的我感觉只有程序员会用啊!”。呃,好吧,我高估了小白对这些工具的能力,没办法,准备网上找个 Hugo 的 GUI 工具给其使用,找了一圈,竟没有找到好用点的。
遂准备自己撸一个,博主虽然是后端程序员一枚,但前端也会一点,想想应该也不难。博主主要使用的语言是 Java
,但撸 APP 自然不能用 Java
来,虽然有JavaFX
,但这玩意看起来就有点老气,毅然放弃之;Electron
比较流行,但启动运行比较耗费资源,博主也不想写那么多 Javascript
代码(写一两个简单页面还没那么费神),也放弃了;后面也看了 Pyside,并写了一版本;最后又发现 Wails
,因为博主在学习使用 Go
语言,正好可以用来练习一下语法,所以又写了这个 Wails 版本的。
后面博主将就这几个框架做一个对比,也讲讲开发时的感受。
更多的,博主会将这个 APP 的开发过程写成博客,有兴趣的同学可以持续关注关注。
先放项目源码:
- swallos-wails: 基于 Go 的 wails 框架开发。
- swallow-pywebview: 基于 Python 的 pywebview 框架开发,前端使用 alpinejs 和 tailwindcss。
- swallow-pyside: 基于 Pyside 开发。