Go语言101

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

2019-05-19  本文已影响0人  liulaomo

目前Go语言主要活跃在区块链、云计算、命令行工具和后端服务等领域。这些领域基本上和GUI关系不大。近来出现了很多跨平台的Go GUI项目。虽说用井喷之势形容有些过了,但是的确有加速的迹象。难道Go语言将要开辟出另一大块疆土?

忙中偷闲,整理了一份目前GUI/图形/图像相关的Go项目列表。见下。欢迎补充。

(注意:最新版在这里。)

原生GUI绑定

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系统绑定工具库。

基于HTML的GUI

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应用。

非原生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

3D图形API绑定

d3d9是一个Direct3D9绑定。

gl是一个OpenGL绑定。(另外GLHF对gl3.3进行了更接近于Go风格的包装。)

vulkan是一个Vulkan绑定。

2D矢量图形库

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公众号将尽量在每个工作日发表一篇原创短文,有意关注者请扫描下面的二维码。

101-group-qrcode-1.jpg

关于更多Go语言编程中的事实、细节和技巧,请访问《Go语言101》官方网站:https://gfw.go101.org。如果官网被墙,请访问《Go语言101》github项目:https://github.com/golang101/golang101

上一篇下一篇

猜你喜欢

热点阅读