2019,Go GUI 项目爆发的一年?

目前Go语言主要活跃在区块链、云计算、命令行工具和后端服务等领域。这些领域基本上和GUI关系不大。近来出现了很多跨平台的Go GUI项目。虽说用井喷之势形容有些过了,但是的确有加速的迹象。难道Go语言将要开辟出另一大块疆土?
忙中偷闲,整理了一份目前GUI/图形/图像相关的Go项目列表。见下。欢迎补充。
(因为微信公众号文章不允许外链,所以对此文章的Go库感兴趣的同志可以直接访问 https://github.com/go-graphics/go-gui-projects 来查看这些库,)

原生GUI绑定

dlgs (https://github.com/gen2brain/dlgs) 是一个跨平台的显示对话框和输入框的Go代码库。
glfw (https://github.com/go-gl/glfw) 是一个GLFW3绑定库。
go-mobile (https://github.com/golang/mobile) 支持移动平台应用开发(Android和iOS)。(其中包含OpenGL ES 2.0和ES 3.0绑定库 (https://godoc.org/golang.org/x/mobile/gl) 。)
go-sdl2 (https://github.com/veandco/go-sdl2) 是一个SDL2绑定库。
go-gtk (https://github.com/mattn/go-gtk) 是一个GTK2绑定库。
gotk3 (https://github.com/gotk3/gotk3) 是一个GTK+3绑定库。
GXUI (https://github.com/google/gxui) ,Google员工出品,但已经停止维护很久。
qt (https://github.com/therecipe/qt) 是一个qt绑定库。
shiny (https://github.com/golang/exp/tree/master/shiny) 是一个跨平台的UI库。貌似荒废了。
systray (https://github.com/getlantern/systray) 是一个跨平台的系统托盘通知图表和菜单库。
trayhost (https://github.com/shurcooL/trayhost) 是另一个跨平台的系统托盘通知图表和菜单库。
ui (https://github.com/andlabs/ui) 提供了原生GUI绑定。
Walk (https://github.com/lxn/walk) 是一个”Windows Application Library Kit”绑定。
w32.go (https://gist.github.com/nathan-osman/18c2e227ad00a223b61c0b3c16d452c3) 是一段使用Windows系统调用生成GUI的小例子。
XGB (https://github.com/BurntSushi/xgb) 是一个X系统绑定。
xgbutil (https://github.com/BurntSushi/xgbutil) 是一个X系统绑定工具库。

基于HTML的GUI

go-astilectron (https://github.com/asticode/go-astilectron) 基于Electron,使用HTML/JS/CSS来构建跨平台GUI应用。
go-sciter (https://github.com/sciter-sdk/go-sciter) 是一个Sciter绑定。 
gowd (https://github.com/dtylman/gowd) 基于nwjs,使用HTML/JS/CSS来构建跨平台GUI应用。
Wails (https://github.com/wailsapp/wails) 另用原生浏览器,使用HTML/JS/CSS来构建跨平台GUI应用。
webview (https://github.com/zserge/webview) 基于WebKit,使用HTML/JS/CSS来构建跨平台GUI应用。

非原生GUI

duit (https://github.com/mjl-/duit) 是一个纯Go跨平台UI库。
Fyne (https://github.com/fyne-io/fyne) 使用OpenGL实现立即模式跨平台GUI。
gi (https://github.com/goki/gi) 是一个基于场景图的2D和3D GUI库。
Gio (https://git.sr.ht/~eliasnaur/gio) 是一个轻便的立即模式跨平台GUI。支持:iOS/tvOS, Android, Linux  (Wayland) , macOS, Windows和browsers  (Webassembly/WebGL) 。
go-flutter (https://github.com/go-flutter-desktop/go-flutter) 实现了Flutter Embedding API。
goey (https://bitbucket.org/rj/goey) (这个的介绍没看太明白,各位自个儿研究一下。)
gui (https://github.com/faiface/gui) 是一个并发GUI库。
imgui-go (https://github.com/inkyblackness/imgui-go) 是一个Dear ImGui绑定炉。
nk (https://github.com/golang-ui/nuklear) 是一个nuklear绑定库。(另一个:nucular (https://github.com/aarzilli/nucular) 。)

3D图形API绑定

d3d9 (https://github.com/gonutz/d3d9) 是一个Direct3D9绑定。
gl (https://github.com/go-gl/gl) 是一个OpenGL绑定。(另外GLHF (https://github.com/faiface/glhf) 对gl3.3进行了更接近于Go风格的包装。) 
vulkan (https://github.com/vulkan-go/vulkan) 是一个Vulkan绑定。
2D矢量图形库
gg (https://github.com/fogleman/gg) 是一个纯Go矢量图形库。
go-cairo (https://github.com/ungerik/go-cairo) 是一个cairo绑定。
go-skia (https://github.com/go101/go-skia) 是一个skia绑定。
svgo (https://github.com/ajstarks/svgo) 用来生成SVG 1.1规范的svg文件。
字体处理相关
freetype (https://github.com/golang/freetype) 是一个Freetype字体渲染器光栅化Go库。
pixfont (https://github.com/pbnjay/pixfont) 是一个位图字体渲染库。

游戏开发相关

请访问Awesome Go (https://github.com/avelino/awesome-go#game-development) 获取列表。
图像处理相关
image (https://golang.org/pkg/image/) 标准库。
官方image (https://github.com/golang/image/) 补充库。
请访问Awesome Go (https://github.com/avelino/awesome-go#images) 获取更多。

本文首发在微信 Go 101
公众号,欢迎各位转载本文。
关于更多Go语言编程中的事实、细节和技巧,请访问《Go语言101》官方网站 https://gfw.go101.org (可点击下面的原文链接直接访问)或者项目地址 https://github.com/golang101/golang101。