Skip to content

Latest commit

 

History

History
198 lines (106 loc) · 12.6 KB

README.zh-CN.md

File metadata and controls

198 lines (106 loc) · 12.6 KB

(请关注 @zigo_101了解此页面的更新以及 Go 编程中的各种详细信息和事实).


Go GUI/图形/图像相关项目列表

本机 GUI 和实用程序绑定

dlgs 是一个用于显示对话框和输入框的跨平台库。

gamen 是 Go 语言跨平台的 GUI 窗口创建和管理库。

gform 是一个易于使用的 Go Windows GUI 工具包。

  • winc 是 Windows 上 Go GUI 应用程序的通用库(基于 gform)。

glfw 是 GLFW 3 的 Go 绑定。

go-fltk 是一个简单的包装器 FLTK 1.4 library, 它是一个轻量级的 GUI 库,允许创建小型、独立且快速的 GUI 应用程序。

go-gtk 是 GTK2 的 Go 绑定。

  • RenderView 是一个简单的 Go GUI 包装器,用于交互式操作可视化算法/后端代码。支持 go-gtk(默认)、gotk3 和 shiny 后端。

go-mobile 增加了对移动平台(Android 和 iOS)的支持,并提供了构建移动应用程序的工具。(包括Go bindings for OpenGL ES 2.0 and ES 3.0)

go-sdl2 是专为 Go 用户包装的 SDL2。

go-sfmlSFML的 Go 绑定。

gothic 是 tcl/tk 的 Go 绑定。

gotk3 为 GTK+3 和​​相关项目 (包括 cairo) 提供 Go 绑定。

gotk4 是 Go 的 GTK4 绑定生成器。

GoVCL 是一个基于 liblcl的本机 GUI 库。

GXUI 是一个 Go 跨平台 UI 库。

iup-goIUP的 Go 绑定

MacDriver 是一个用于在 Go 中使用 Apple/Mac API 和框架的工具包。

nuxui 是一个跨平台的 GUI 库,用于制作 macOS、window、linux、IOS、android 应用程序。

qt 允许您完全用 Go 编写 Qt 应用程序,并使以后部署它们变得非常容易。

qt.go 是 Qt5 绑定,它使用 FFI 而不是 CGO。

shiny 是一个 Go 跨平台 UI 包。

Spot 是一个反应灵敏的跨平台桌面 GUI 工具包。

systray 是一个跨平台的 Go 库,用于在通知区域放置图标和菜单。已在 Windows 8、Mac OSX、Ubuntu 14.10 和 Debian 7.6 上测试。

trayhost 是一个跨平台的 Go 库,用于在主机操作系统的任务栏中放置图标。

ui 旨在使用 c 库 libui,用 Go 提供简单的 GUI 软件开发。

w32.go 是一个简单的示例,展示了如何使用syscall包创建 Windows GUI。

Windigo 采用 Go 编写的 Win32 API 和 GUI。

Walk 是 Go 编程的“Windows 应用程序库套件”。

wui 是一个使用 the native Win32 API的 Windows GUI 库, 它是 this one分叉而来的.

XGB 是 X 的 Go 绑定,它是用于与核心 X 协议和许多 X 扩展进行通信的低级 API。

xgbutil 是一个旨在与XGB配合使用的实用程序库。

zenity 是一个跨平台包,提供类似Zenity的对话框。

基于 HTML 的 GUI

Go-app 是一个使用 Go 编程语言(Golang)和 WebAssembly(Wasm)构建渐进式 Web 应用程序(PWA)的软件包。

go-astilectron 帮助使用 GO 和 HTML/JS/CSS 构建跨平台 GUI 应用程序。它是 astilectron 的官方 GO 绑定,由 Electron 提供支持。

go-sciter 是 Sciter 的 Golang 绑定:用于现代 UI 开发的可嵌入 HTML/CSS/脚本引擎。

gowd 帮助我们使用 GO 和 HTML/JS/CSS (由 nwjs 提供支持) 构建跨平台 GUI 应用程序。

Gowut 是一个纯 Go 编写的 Web UI 工具包。应用程序以 HTML 页面的形式呈现。它不捆绑浏览器。

Lorca 是一个非常小的库,用于用 Go 构建现代 HTML5 桌面应用。它不捆绑 Chrome,但会重复使用您机器上已安装的 Chrome。

Muon 是 Electron 的轻量级替代品,用 Golang 编写,使用Ultralight而不是 Chromium。

Qlovaseed 是使用 Golang 编写的 Electron 的轻量级替代品。应用程序以 HTML 页面的形式呈现。它不捆绑浏览器。

Wails 是一个使用 Go 和 Web 技术构建桌面应用程序的框架。

webview 是一个小型跨平台 webview 库,用于 C/C++/Golang 构建现代跨平台 GUI。

自定义 GUI

duit 是一个纯 go、跨平台、MIT 许可的开发人员 UI 工具包。

Fyne 是一个用 Go 编写的易于使用的 UI 工具包和应用程序 API。我们使用 OpenGL(通过 go-gl 和 go-glfw 项目)来提供跨平台图形。

gi 是 Go 中基于场景图的 2D 和 3D GUI/图形界面 (Gi)。

Gio 使用 Go 语言实现了可移植的立即模式 GUI 程序。Gio 程序可在所有主流平台上运行:iOS/tvOS、Android、Linux (Wayland)、macOS、Windows 和浏览器 (Webassembly/WebGL)。

goey 为 Go 语言提供了声明式、跨平台的 GUI。控件的范围及其支持的属性和事件应与 HTML 中提供的大致相同。但是,属性和事件可能会受到限制以支持可移植性。此外,控件的样式将受到限制,控件的外观与本机平台相匹配。

go-flutter 是一个将 Flutter 应用到桌面的包。

gui 为 Go 中的并发 GUI 提供了极简、坚如磐石的基础。

imgui-go 是 Dear ImGui 的 Go 包装器。

  • giu 是一个基于 imgui-go 的 GUI 框架。(另一个类似的框架来自同一作者, gimu,但适用于 nucular。)

NanoGUI.goNanoGUI 的 Go 端口

nk 为 nuklear.h 提供 Go 绑定。

  • 另一个: nucular,它使用 gio 或 shiny 后端而不是 cgo。

Unison 是用于 Go 桌面应用程序的统一图形用户体验工具包。支持 macOS、Windows 和 Linux。Unison 建立在 glfw 之上。Unison 为小部件定义了自己的外观和感觉。这样做是为了在所有支持的平台之间提供尽可能高的一致性。

3D 图形和计算 API 绑定

d3d9 是 Microsoft Direct3D9 API 的纯 Go 包装器。

gl 存储库包含 Go 与各种 OpenGL 版本的绑定。它们是使用 Glow 自动生成的。

vulkan 为 Vulkan 提供 Go 绑定——一种低开销、跨平台的 3D 图形和计算 API。

2D矢量图形和计算API

draw2d 是一个 Go 2D 矢量图形库,支持多种输出,如图像(draw2d)、pdf 文档(draw2dpdf)、opengl(draw2dgl)和 svg(draw2dsvg)。

gg 是一个用 Go 渲染 2D 图形的库。

The Gio 项目包括一个基于 the Pathfinder project项目的高效矢量渲染器,该渲染器在 OpenGL ES 和 Direct3D 11 上实现。

  • giocanvas is a canvas API built on top of Gio.

go-cairo 是一个基于 Gio 构建的画布 API。

Go canvas 是一个 Go 库,提供与 HTML5 canvas API 尽可能相似的绘图功能,在 OpenGL 后端(和软件后端)上实现。

go-chart 是一个非常简单的 golang 原生图表库,支持时间序列和连续折线图。

gonum/plot 提供了用 Go 构建和绘制图表的 API

go-p5 是一个简单的包,它提供类似于 p5/processing 库公开的原语。

go-skia 是一个通过 cgo 基于 skia C 库的 Go skia 绑定。

NanoVGoNanoVG 的 golang 实现. 同一作者维护着上面提到的 NanoGUI.go 项目。

svgo 按照可缩放矢量图形 1.1 规范定义生成 SVG。

字体处理相关

freetype 是 Go 编程语言中的 Freetype 字体光栅化器。

这个golang.org/x/image/font/sfnt包解析 SFNT 字体文件格式,包括 TrueType 和 OpenType

pixfont 是一个简单、轻量级的 Go 像素字体(又名位图字体)包,可与标准 image/draw 包配合使用

CAD 相关

sdfx 是一个用 Go 编写的简单 CAD 包。 sdf是它的重写版

game development related

ebiten 一款非常简单的 Golang 2D 游戏库

godot-goGodot Engine's 的 GDNative API 的 Go 绑定。

raylib-goraylib 的 Go 绑定。

请访问 Awesome Go 以了解更多。

图像处理相关

标准的 Go image 包.

image 存储库包含补充的 Go 图像库。

请访问 Awesome Go 以了解更多。

终端界面

顺便说一句,如果您对开发终端 UI Go 程序感兴趣,请查看 tcell, tview (依赖于 tcell), cview (tview 的一个分支 a fork), 以及Awesome Go上列出的更多内容。