目前 Go 语言主要活跃在区块链、云计算、命令行工具和后端服务等领域。这些领域基本上和 GUI 关系不大。近来出现了很多跨平台的 Go GUI 项目。虽说用井喷之势形容有些过了,但是的确有加速的迹象。难道 Go 语言将要开辟出另一大块疆土?
忙中偷闲,整理了一份目前 GUI/图形 /图像相关的 Go 项目列表。见下。欢迎补充。
dlgs是一个跨平台的显示对话框和输入框的 Go 代码库。
glfw是一个 GLFW3 绑定库。
go-mobile支持移动平台应用开发( Android 和 iOS )。(其中包含OpenGL ES 2.0 和 ES 3.0 绑定库。)
go-sdl2是一个 SDL2 绑定库。
go-gtk是一个 GTK2 绑定库。
gotk3是一个 GTK+3 绑定库。
GXUI,Google 员工出品,但已经停止维护很久了。
qt是一个 qt 绑定库。
shiny是一个跨平台的 UI 库。貌似荒废了。
systray是一个跨平台的系统托盘通知图表和菜单库。
trayhost是另一个跨平台的系统托盘通知图表和菜单库。
ui提供了原生 GUI 绑定。
Walk是一个"Windows Application Library Kit"绑定。
w32.go是一段使用 Windows 系统调用生成 GUI 的小例子。
XGB是一个 X 系统绑定。
xgbutil是一个 X 系统绑定工具库。
go-astilectron基于 Electron,使用 HTML/JS/CSS 来构建跨平台 GUI 应用。
go-sciter是一个 Sciter 绑定。
gowd基于 nwjs,使用 HTML/JS/CSS 来构建跨平台 GUI 应用。
Wails另用原生浏览器,使用 HTML/JS/CSS 来构建跨平台 GUI 应用。
webview基于 WebKit,使用 HTML/JS/CSS 来构建跨平台 GUI 应用。
duit是一个纯 Go 跨平台 UI 库。
Fyne使用 OpenGL 实现立即模式跨平台 GUI。
gi是一个基于场景图的 2D 和 3D GUI 库。
Gio是一个轻便的立即模式跨平台 GUI。支持:iOS/tvOS, Android, Linux (Wayland), macOS, Windows 和 browsers (Webassembly/WebGL)。
go-flutter实现了 Flutter Embedding API。
goey(这个的介绍没看太明白,各位自个儿研究一下。)
gui是一个并发 GUI 库。
imgui-go是一个 Dear ImGui 绑定炉。
nk是一个 nuklear 绑定库。(另一个:nucular)
d3d9是一个 Direct3D9 绑定。
gl是一个 OpenGL 绑定。(另外GLHF对 gl3.3 进行了更接近于 Go 风格的包装。)
vulkan是一个 Vulkan 绑定。
gg是一个纯 Go 矢量图形库。
go-cairo是一个 cairo 绑定。
go-skia是一个 skia 绑定。
svgo用来生成 SVG 1.1 规范的 svg 文件。
freetype是一个 Freetype 字体渲染器光栅化 Go 库。
pixfont是一个位图字体库。
请访问Awesome Go获取列表。
image标准库。
官方image补充库。
请访问Awesome Go活度更多。
本文首发在微信Go 101公众号,欢迎各位转载本文。Go 101公众号将尽量在每个工作日发表一篇原创短文,有意关注者请扫描下面的二维码。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.