Golang Go语言中 2019,是GUI项目爆发的一年?
Golang Go语言中 2019,是GUI项目爆发的一年?
目前 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公众号将尽量在每个工作日发表一篇原创短文,有意关注者请扫描下面的二维码。
更多关于Golang Go语言中 2019,是GUI项目爆发的一年?的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
很多项目需要重构,服务器硬件也在更新,跨平台完美的 gui 库,目前还没有吧,简单界面还是可以的,另外时间学习新的 gui 库,成本也不小,不 95%完美兼容成熟的情况下没人花这个学习成本吧?单线程最强的语言还是 Nim 吧😄
更多关于Golang Go语言中 2019,是GUI项目爆发的一年?的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
看应用,而不是库
好几年前就有了。
没有一个具备高可用完整性的
这些库和月球表面差不多,全是坑。
gopherjs
go 绑定 qt
go 绑定 flutter
GoSX 模仿 JSX,反正都要编译了 …
GOlang 不需要 UI
看到最后二维码就明白了
之前用 andlabs 写啦个七牛客户端,图像性能有点差,能看到拖拽。
包括官方示例有能看到拖拽。
一个 system tray 开启后台,用 rest api 把接口交给浏览器。
geoy, guo, go-skia 都是近两三个月出的
目前这些真的没一个能真正用得上的,现阶段适合写个 hello world 的窗体, 这方面感觉 flutter 比较有优势,达到 Qt 的成熟度还要很多年
项目地址有吗?
说得好,我用 flutter
好几个绑定都是相当成熟的,包括 qt, sdl, glfw, gtk2, imgui, nuklear
https://github.com/p1gd0g/QiniuDrive
很水,应届毕业生为啦找工作临时写的。
看代码还是相当有水准的。要是个库的话,这篇文章就准备收录的
我觉得最好的实践还是起 Web 服务。然后打开浏览器。参考 go 的帮助文档的做法。
针对“Golang Go语言中 2019,是GUI项目爆发的一年?”这一问题,作为IT领域的Go语言专家,我认为该说法有一定道理。以下是我的分析:
2019年,Go语言在GUI项目上的确呈现出了加速发展的趋势。这一年,许多跨平台的Go GUI项目纷纷涌现,涵盖了从简单的对话框和输入框显示,到基于HTML/JS/CSS的跨平台GUI应用构建,再到使用OpenGL等图形API的复杂GUI开发。这些项目包括但不限于dlgs、glfw、go-mobile、go-sdl2、go-gtk、gotk3、shiny等,它们为Go语言的GUI开发提供了丰富的选择和可能性。
此外,Go语言社区和生态系统也在2019年迅速扩展,GitHub上与Go相关的仓库和贡献者数量持续上升,涵盖了从Web框架、数据库驱动到开发工具的各个方面。这些变化都推动了Go语言在GUI开发领域的进一步发展和普及。
综上所述,虽然不能说2019年是Go语言GUI项目的“井喷之年”,但确实是一个重要的发展节点,标志着Go语言在GUI开发领域开始展现出强大的潜力和活力。